C# socket问题,解决后再加200分

来源:百度知道 编辑:UC知道 时间:2024/05/19 17:33:40
当客户端向服务端发出命令后,在规定的超时时间里未收到回答便退出了.而第二次发命令时,读到的是第一次返回的数据.所以想在发命令前把输入缓存区清空.请问如何清空socket缓存区的数据?谢谢!

注意,不是进程缓冲区,是Socket协议缓冲区
请不要Ctrl+C,Ctrl+V

首先,VC中没有现成的函数,socket的缓冲区是内核来维护的
其次,不明白你为什么要清除这个缓冲区,当你上次客户端退出操作的时候缓冲区存在数据不假,但是客户端退出,socket就被销毁了,怎么还会有个缓冲区?
你的客户端下次连接服务器难道不是建立一个新的socket?缓冲区里面怎么可能还有数据?