我刚才还真的试了下
linode的机器,给国内服务器发udp,一个包,传16k没问题
服务端:
nc -lu 9999 > a.txt
客户端:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.send(b'h' * 1000 * 17, ('xxxxx', 9999)
我试了手机网络、办公网络、国外服务器,都是16k囊艽16k以内能传,超过16k截断
我就是不知道这个16k的限制是哪里的限制
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 理论最大值是指 IP 包最大 64K,实际扣掉头部。
: 如果超过 MTU 会分片发送。但是分片的 UDP 包要看路由器支不支持了。互联网的路由环境复杂,一般都会把 UDP 包的负荷控制在 1400 左右。多了互联网路由器说不定就丢了——比如你试一下发 UDP 到国外的主机,超过 1500 几乎不可能发送成功。
--
FROM 223.104.39.76