发布网友 发布时间:2022-04-20 15:34
共5个回答
热心网友 时间:2023-07-07 03:56
这是通讯协议规定的。网络通讯中,IP地址+端口才能唯一标识一个真实的通讯地址。就像是现实中如果写信给一个人,发信人必须写清楚省市区和邮箱号,收件知人有同一个邮箱的钥匙才能收到信一样。
客户端不需要固定端口,客户端发送消息时应该由UdpClient自动选择可用的端口。
服务器不可能向NAT内部的客户端主动发起消息,必须等客户端发送消息,然后赶紧发送返回值。因为NAT路由器只会为Udp消息的这种回发规则维护一个较短时间,在这个较短时间上由外部发来的消息才能被路由器正确转发给内部。
扩展资料
UDP是OSI参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。
UDP提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性由应用层负责。常用的UDP端口号有:
应用协议 端口号
DNS 53
TFTP 69
SNMP 161
热心网友 时间:2023-07-07 03:56
UDP在*通信时,需要由内网客户端向*(独立IP,不经过路由)的服务器发出消息,内网路由会打开一个洞,短时间允许*目标ip和目标端口往回发消息,否则*的消息发不到内网的电脑上,直接被路由扔了。所以热心网友 时间:2023-07-07 03:57
DatagramSocket用于接收和发送UDP的Socket实例。该类有3个构造函数:DatagramSocket():通常用于客户端编程,它并没有特定监听的端口,仅仅使用一个临时的。程序会让操作系统分配一个可用的端口。DatagramSocket(int port):创建实例,并固定监听Port端口的报文。通常用于服务端。热心网友 时间:2023-07-07 03:57
这是通讯协议规定的。热心网友 时间:2023-07-07 03:58
没这个说法,