socket发送信息时 如果数据过大 要发送好几次 接收方如何得到这个完整的消息?

EsMo 2008-10-16 12:49:29
比如将类序列化后发送 缓冲数组只有256长度 要发好几次 接收方怎样得到完整的一次发送呢
...全文
144 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
EsMo 2008-10-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fangsp 的回复:]
你们可以拟订一个通信协议啊
比如当它受到'8D8DD'的时候 它就知道这次发送完成了
[/Quote]
那这样我是不是要做2次发送?
第1次 发送要发的数据
第2次 发送协议 通知发送结束?
EsMo 2008-10-16
  • 打赏
  • 举报
回复
回ls 我用异步接收的 怎么知道发送方在发送n次后终于把一串数据发完? 这个时候我再反序列化操作
fangsp 2008-10-16
  • 打赏
  • 举报
回复
你们可以拟订一个通信协议啊
比如当它受到'8D8DD'的时候 它就知道这次发送完成了
cpio 2008-10-16
  • 打赏
  • 举报
回复
对方也要一直收,直到收完
skey111 2008-10-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qqlpp 的回复:]
可以定一个协议 先把你要发的数据长度 发送过去 接受方根据数据长度接受
[/Quote]

支持7楼的,自己定义一种协议,该协议的开头就是存放的协议的类型和协议的长度,当该长度最后和前面的这个相等时,就完成该接收,,,
qqlpp 2008-10-16
  • 打赏
  • 举报
回复
可以定一个协议 先把你要发的数据长度 发送过去 接受方根据数据长度接受
killer_liqiao 2008-10-16
  • 打赏
  • 举报
回复
up
qshzf 2008-10-16
  • 打赏
  • 举报
回复
Tcp/Ip自己会处理

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧