我的应用程序持续向不同的主机发送UDP数据包。当主机处于活动状态时,UDP数据包到达主机,并且函数返回发送给它的字节数。但是,当主机关闭时(电缆拔下或复位),sendto
函数不发送UDP数据包,但仍返回缓冲区中的字节数。不发送UDP数据包,而是发送ARP数据包以查找主机。为什么sendto
函数不返回SOCKET_ERROR? WSAGetLastError
函数也返回0。我怎么能注意到发送UDP数据包到不可访问主机的错误?UDP sendto永远不会失败
P.S.我的操作系统是Winodws 7 x64,我的应用程序是本机C++和64位。
您尝试过哪些失败案例?只需拔掉电缆? – lsbbo
发现错误时,返回任何内容都太迟了。 –