记UDP协议在Windows下的一个小问题

最近需要为公司的游戏服务端框架集成KCP协议,而且需要兼容pypy,所以需要用cffi对KCP进行一个简单的包装,本身这部分还是挺顺利的,但是测试的时候在Windows下却出现了比较蛋疼过的问题,

socket的读取经常会抛出异常,错误码是10054,UDP没有连接,怎么会有重置的错误码。。。、。


最后查到,其实这应该算是Windows的一个bug。。

加入我们用一个udp socket给某一个地址发送数据,但是目标地址不可达,俺么ICMP 会向当前socket返回一个端口不可达的报文,那么接下来对这个socket读取的时候 就会出上述的异常了。。在linux下,recv表现出来的异常的编码就是111,就比较正常了


不过也算好解决,不管就是了。

你可能感兴趣的:(TCP/IP)