大家好
我是初次使用C++ Socket编程,在网上找到了很多这方面的样例
例如 http://www.cnblogs.com/Sniper-quay/archive/2011/06/22/2086636.html
现在有一个问题是,它需要每次关闭套接字
如果不关闭的话,我会出现以下问题
我建立了一个应答系统,客户端向服务器端发送触发指令:Trigger On
服务器端响应一个处理结果:Process 0001 OK
然后客户端调用receive函数接收到处理结果:Process 0001 OK
问题是,服务器端可以独立处理,但是它每次处理完都会向客户端发送信息,不管客户端是否有触发指令或者接收
例如:服务器端自行处理5次,它会自动向客户端发送五次处理结果
Process 0020 OK
Process 0021 OK
Process 0022 OK
Process 0023 OK
Process 0024 NG
此时客户端发送触发指令:Trigger On
调用接收函数receive
客户端接收到的数据为:
Process 0020 OK
Process 0021 OK
Process 0022 OK
Process 0023 OK
Process 0024 NG
Process 0025 NG
我的问题是,在客户端发送Trigger On 触发指令之前,我如何清除掉接收区缓存
黄舟2017-04-17 13:19:43
沒有什麼清理快取的函數,在發送之前 讀出來 然後丟掉就是了
參考:
http://stackoverflow.com/questions/22268130/flush-the-tcp-receive-data-buffer
http://developerweb.net/viewtopic.php?id=6564
https://www.quora.com/Is-there-a-way-to-clear-everything-thats-in-the-socket-buffer