我需要编写一个代码,在两台计算机之间进行通信。我看到很多人在他们想要在计算机之间通信时在他们的代码中使用端口 8820。我知道端口一词,但什么是端口 8820?
端口 8820 - 它是什么?
端口 8820 未分配。您可以在此处查看官方IANA 列表。
8820 是一个未保留的端口。
我想,你正在做套接字编程。你想连接两台电脑。你想传输数据。
套接字 = IP 地址 + 端口号。
IP 地址用于识别 PC。端口号用于标识该 PC 中的进程。
每个进程在唯一的端口号中运行。端口号是 16 位地址。当我们希望进程处理通信时,我们使用端口号。这适用于传输层。请阅读 TCP/IP 模型中的传输层。
有一些端口号是保留的,例如端口号 80 用于 HTTP。20 和 21 用于 FTP。22 用于 SSH。
端口号范围
TCP、UDP、UDP-Lite、SCTP 和 DCCP 对其端口号注册表使用 16 位命名空间。所有这些传输协议的端口注册被细分为三个数字范围 [RFC1340],第 8.1.2 节详细描述了每个范围的 IANA 程序:
o 系统端口,也称为众所周知的端口,从 0 到 1023(由 IANA 分配)
o 用户端口,也称为注册端口,从 1024-49151(由 IANA 分配)
o 动态端口,也称为专用或临时端口,从 49152-65535(从未分配)
在可分配的端口范围(系统端口和用户端口,即端口号 0-49151)中,各个端口号在任何给定时间都处于以下三种状态之一:
o 已分配:分配的端口号当前已分配给注册表中指示的服务。
o 未分配:根据本文档中概述的程序,当前可根据请求分配未分配的端口号。
o 保留:保留端口号不可用于常规分配;它们被“分配给 IANA”用于特殊目的。保留端口号包括在每个范围的边缘的值,例如0、1023、1024等,将来可能用于扩展这些范围或整个端口号空间。
为了使注册表的大小保持可管理,IANA 通常只在注册表中记录分配和保留的服务名称和端口号。未分配的值通常不会明确列出。(有很多未分配的服务名称,枚举它们是不切实际的。)
作为数据点,在编写本文档时,分配了大约 76% 的 TCP 和 UDP 系统端口,以及大约 9% 的用户端口。(如前所述,从不分配动态端口。)
因此,您可以选择任何未保留的端口号。最大端口号为 2^16。因为端口号是16bit。
例如,您可以使用 5000、...6800、...8821、8822、...、46789、...、65353 等。选择任何未保留的端口。请记住,两台 PC 中的端口号应该相同。