我去搜索这个,发现至少有一个人询问但没有回答。我认为有必要启动一个发送和接收段(在同一个套接字连接上的一个更大的进程的一部分),并期望接收缓冲区中没有任何东西。如何清除WinSock中的接收缓冲区
我没有看到答案,但在我自己意识到围绕它的另一种方式看起来更清晰之前,我想到了这个杂交物(读到“在下一部分结束”)。只需将RecieveTimeout设置为1,或者如果您认为发件人仍处于发送过程中,则稍微大一些。然后用socketflags = 0调用Receive并丢弃结果。
有没有人有更好的方法?
是的,我这样做的方式,将超时设置为1,并且读取 - 丢弃所有读取的内容,直到我获得WSAETIMEDOUT ...真的想知道是否有另一种方法!? – Cipi 2011-07-06 10:10:24