Socket问题

aaa907638015 2012-04-05 08:37:04
就是Socket.BeginReceive()方法,不是要传一个字节数组作为接收数据的缓存区么?
可是该如何获取人家发来的数据有多大呢?也就是说要怎样定义这个Byte[]有多长呢?
听别人说可以在发送的时候把长度放进头文件里面,可是头文件是什么东西我不懂?
能给个代码实例或者说下实现方法么?
...全文
95 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
orochiheart 2012-04-06
  • 打赏
  • 举报
回复
where(true)
{}
tbMakerZeng 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

你发送字节的时候,把文件长度int写在要发送的byte数组最前面
[/Quote]

+1
baichangle 2012-04-06
  • 打赏
  • 举报
回复
这里缓存区是指一次接收的大小,但你是在循环接收 UDP 默认4096 最大65535 TCP应该也差不多吧
考拉 2012-04-06
  • 打赏
  • 举报
回复
你发送字节的时候,把文件长度int写在要发送的byte数组最前面
aaa907638015 2012-04-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

循环,每次接受1024个,关注返回值,从而判断是否结束了
list<byte[]>添加,接受,合并,或者干脆用个足够大数组

最近搞C,用指针是这么搞的
[/Quote]
难倒就没有直接得到消息大小的办法?
传递正能量 2012-04-05
  • 打赏
  • 举报
回复
循环,每次接受1024个,关注返回值,从而判断是否结束了
list<byte[]>添加,接受,合并,或者干脆用个足够大数组

最近搞C,用指针是这么搞的
aaa907638015 2012-04-05
  • 打赏
  • 举报
回复
没人知道吗?

111,126

社区成员

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

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

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