C# UdpClient发送超过1500字节MTU的数据包会怎么样
如果不设置DontFragment
udpClient.DontFragment = false;
那么可以发送数据包。接收端随缘收到数据包。使用WireShark可以检测到网卡上对应的数据包。
如果设置DontFragment
udpClient.DontFragment = true;
在windows上会 使用winSock2的Send函数,然后会立刻返回-1。
错误码是WSAEMSGSIZE,表示message size太大。
Message too long.
A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram was smaller than the datagram itself.
使用WireShark检测不到网卡上对应的数据包。