我正在尝试让一个简单的 winsock 程序运行,所以
我创建我的套接字并发送我的数据就好了。然后我使用 shutdown(ConnectSocket, SD_SEND)
根据 msdn,禁用发送数据,但不接收? msdn 上的示例也是这样做的。
但是在我调用 shutdown
之后,我的 recv 函数返回 0 而没有收到任何数据。
如果我注释掉关闭代码,一切正常。
我错过了什么吗?
最佳答案
不,这很正常。对方通过关机来回应你的关机。 recv
的零返回表示正常连接关闭。如果您不希望另一方关闭其连接的那一半,请不要关闭您的连接。
(当对 recv
的调用返回零时,你期望对方做什么?)
关于c++ - 关机后 Winsock recv 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846165/