我正在与Winsock一起做一个程序,以创建一个客户端并将数据发送到服务器,以响应服务器回复收到的特定数据块的情况,该操作将继续多次。
问题是有时我的数据块1与数据块2重叠,因此我想在第一次完成接收后刷新TCP接收缓冲区。
我也参考了此链接,如何“刷新” TCP客户端缓冲区?但我等不及要等到接待出现
如何刷新TCP接收数据缓冲区?我正在用Visual C ++做我的项目
“刷新”接收缓冲区的唯一方法是从中读取。第一次读取后,请继续从套接字读取数据,并丢弃该数据,直到没有更多数据可读取为止。select()
与超时一起使用,以检测套接字何时仍在接收数据。
如果数据被“重叠”,则服务器要么没有在其末端正确发送数据(重叠send()
调用),要么您没有在末端正确读取数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句