在断开客户端之前,服务器想向客户端发送一些信息 - 为什么我(服务器)断开你(客户端)。
如果我向信息发送数据包并立即关闭客户端套接字,closesocket() 返回 -1,如果我使用 linger 选项成功运行 closesocket(),则信息无法完全发送。
我怎样才能完成这个,是否有可能知道套接字缓冲区是空的(意味着我的数据包已全部发送)?
谢谢。
最佳答案
首先尝试在套接字上调用 shutdown()。
http://msdn.microsoft.com/en-us/library/ms740481%28VS.85%29.aspx
http://www.opengroup.org/onlinepubs/000095399/functions/shutdown.html
关于c++ - 在关闭套接字之前发送数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2927444/