在关闭套接字之前发送数据包
在断开客户端连接之前,服务器想要向客户端发送一些信息 - 为什么我(服务器)要断开你(客户端)的连接。
如果我将数据包发送到 info 并立即关闭客户端套接字,closesocket() 返回 -1,如果我使用 linger 选项成功地工作 closesocket(),则无法完全发送信息。
我怎样才能完成这个,是否有可能知道套接字缓冲区是空的(意味着我的数据包已全部发送)?
谢谢。
Before disconnect the client, the server wants to send some info to the client - why do I(server) disconnect you(client).
If I send packet to the info and close the client socket immediately, closesocket() returns -1 and if I use linger option to work closesocket() successfully, the info cannot be sent completely.
How can I complete this and is it possible to know socket buffer is empty(means my packet sent all)?
thx.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先尝试在套接字上调用 shutdown() 。
http://msdn.microsoft.com/en- us/library/ms740481%28VS.85%29.aspx
http ://www.opengroup.org/onlinepubs/000095399/functions/shutdown.html
try to call shutdown() on socket first.
http://msdn.microsoft.com/en-us/library/ms740481%28VS.85%29.aspx
http://www.opengroup.org/onlinepubs/000095399/functions/shutdown.html