接收多客户端的数据时是不是需要为每个客户都准备一个缓冲区来存放数据?

umbrella1984 2006-08-31 05:22:17
比如A用户发了一半的数据,B用户发完了全部数据,C用户只发了几个字节。我可以根据客户的地址来判断以后发来的数据是A用户的后半部分数据或C用户的剩余数据,然后把它们放在相应的缓冲区里面。
...全文
182 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
toxyboy 2006-09-01
  • 打赏
  • 举报
回复
楼上说的有点混淆了。
socket默认会有一个数据收发缓冲区,不需要程序员来显式的指定接受空间,套接字会根据socket编号把每个socket对应的收发数据在逻辑上分开的,你只要根据不同的socket收发数据就可以了。你不用关心它们物理上是连续的还是分开的。(一般情况下因该是联系的一段空间!!)
至于应用层的处理,分不分开就随便你了。。
lzd 2006-08-31
  • 打赏
  • 举报
回复
网络底层是有..但是可以通过SetSocket禁用...

最好应用层也封装一个自己的接收和发送的缓冲区便于管理
xlzxlich 2006-08-31
  • 打赏
  • 举报
回复
当然需要,不然不就乱套了.
umbrella1984 2006-08-31
  • 打赏
  • 举报
回复
楼上说的独立是指底层已经给你独立了还是自己实现独立?
lzd 2006-08-31
  • 打赏
  • 举报
回复
每个socket都有独立的接收和发送的缓冲区

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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