Socket接收数据怎么清空缓存区
1个回答
展开全部
通过Socket发送接收消息遇到个问题
C# code Socket newSocket = socket.Accept(); newSocket.Receive(messages); 获取消息没问题 但是总有缓存区无法清空的问题
比如说我先发一句:"我是中国人"
服务端能正确接收到这句消息:"我是中国人"
这边再发送一个字:"你"
理想状态下服务端应该显示一个字:"你"
但是实际上由于缓存区尚未清空的缘故变成了:"你是中国人"
只有当消息长度大于缓存区消息时旧消息才能被完全覆盖:"我不是中国人"
服务端这时能正确的显示:"我不是中国人"
=========================================================
发送消息这边我测试了下 发送出去的消息本身没有问题
C# code socket.Send(byteMessage); socket.Shutdown(SocketShutdown.Both); socket.Close(); 但是到了接收方收到消息就出问题了。我想应该是缓冲区问题 望各位大大解惑------解决方案-------------------------------------------------------- 这是你数组的问题 跟Socket缓冲没关系
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询