sinat_36493775
sinat_36493775
2020-05-28 16:50
采纳率: 75%
浏览 1.5k

C# socket如何清空接收缓存呢

从发送端接过来的数据为包头+数据包
我通过socket.recive(),接收指定长度包头,并解析内容,如果符合判断,我再继续接收数据包里面的内容,如果不符合,请问我要如何把接收缓存里的数据内容清除掉,因为数据量大,所以我不可能全部Revice。也不能断开连接。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • caozhy
    已采纳
    点赞 评论
  • jiangtaoyanhui
    jiangtaoyanhui 2020-05-28 19:52

    设个循环,每次把缓冲区都收完就行了。收下来的数据都放到一个字段里,然后再进行你的判断。
    符合就读取指定长度数据并解析内容,不符合,就清空字段,再等待recive

    点赞 评论

相关推荐