我去搜索這個,發現至少有一個人詢問但沒有回答。我認爲有必要啓動一個發送和接收段(在同一個套接字連接上的一個更大的進程的一部分),並期望接收緩衝區中沒有任何東西。如何清除WinSock中的接收緩衝區
我沒有看到答案,但在我自己意識到圍繞它的另一種方式看起來更清晰之前,我想到了這個雜交物(讀到「在下一部分結束」)。只需將RecieveTimeout設置爲1,或者如果您認爲發件人仍處於發送過程中,則稍微大一些。然後用socketflags = 0調用Receive並丟棄結果。
有沒有人有更好的方法?
是的,我這樣做的方式,將超時設置爲1,並且讀取 - 丟棄所有讀取的內容,直到我獲得WSAETIMEDOUT ...真的想知道是否有另一種方法!? – Cipi 2011-07-06 10:10:24