【发布时间】:2012-08-07 01:19:02
【问题描述】:
假设我有一个服务器应用程序 - 通过 TCP 连接,使用 UNIX 套接字。
连接是异步的——换句话说,客户端和服务器的套接字是非阻塞的。
假设以下情况:在某些情况下,服务器可能决定向已连接的客户端发送一些数据并立即关闭连接:使用shutdown 和SHUT_RDWR。
所以,我的问题是 - 是否可以保证,当客户端调用 recv 时,它会收到(由服务器发送的)数据?
或者,要接收数据,必须在服务器的shutdown 之前调用recv?如果是这样,我应该怎么做(或者,更准确地说,我应该怎么做),以确保客户端接收到数据?
【问题讨论】:
标签: c++ c sockets unix client-server