【发布时间】:2011-08-11 09:05:15
【问题描述】:
我使用 socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) 创建了一个套接字。
根据this,如果我多次发送简单数据包(乘以 send() 和/或 sendto()),我可以得到 ECONNREFUSED。 ICMP 应该告诉之前的数据包没有到达并且 ECONNREFUSED 应该出现。但它失败了,errno 不报告任何错误,并且 send() 总是返回发送的字节数。
UDP 协议实际上不应该告诉数据包已发送。但 ICMP 可以提供我所理解的建议。
那么,问题是——为什么它没有收到 ECONNREFUSED?
一切都是使用 Winsock 完成的。
【问题讨论】:
-
你在你的 UDP 套接字上调用了 connect() 吗?