本文介紹了如何退出阻塞的 recv() 調用?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
基于此問題,當您調用 closesocket()
在 recv()
已經使用的套接字上,然后 RST
數據包將被發送到另一端,而不是執行正常的斷開連接 (4-方式握手).
Based on this question, when you call closesocket()
on a socket that recv()
is already using, then an RST
packet will be sent to the other side instead of performing a graceful disconnection (4-way handshake).
但我希望執行一個優雅的斷開連接,所以我需要在調用 closesocket()
之前退出 recv()
.
But I wish to perform a graceful disconnection, so I need to exit recv()
before calling closesocket()
.
有沒有辦法做到這一點?
Is there a way to do that?
推薦答案
您可以shutdown()
用于輸入的套接字.recv()
將解除阻塞并返回零,每個人都會很高興.
You can shutdown()
the socket for input. The recv()
will unblock and return zero and everybody will be happy.
這篇關于如何退出阻塞的 recv() 調用?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!