假设我有一个服务器应用程序 - 使用 UNIX 套接字通过 TCP 连接。
连接是异步的——换句话说,客户端和服务器的套接字是非阻塞的。
假设以下情况:在某些情况下,服务器可能决定向已连接的客户端发送一些数据并立即关闭连接:使用shutdown
with SHUT_RDWR
。
所以,我的问题是 - 是否可以保证,当客户端调用时recv
,它将接收(由服务器发送的)数据?
或者,要接收数据,recv
必须在服务器的shutdown
? 如果是这样,我应该怎么做(或者,更准确地说,我应该怎么做),以确保数据被客户端接收?