socket编程server接收到的数据会不会错位

ybdesire 2012-12-04 08:25:00
假设TCP
一个server,多个client

client都向server发送数据
会不会出现下图这样的情况,C1的数据包和C2的数据包发送后,S接收到的数据出现错位!!

...全文
579 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xumaojun 2013-01-12
  • 打赏
  • 举报
回复
如果使用不同的socket发送数据就不会乱,如果是相同的socket那就需要自己在发送的数据中添加标示以便区分。
zilaishuichina 2013-01-12
  • 打赏
  • 举报
回复
在网卡那一层 数据是这样的 代码层 会根据socket区分开这是谁发来的数据 A客户端的socket不会recv到B客户端的数据
氰客 2013-01-12
  • 打赏
  • 举报
回复
TCP特点不就是有连接的么? 只要创建了两个不同的socket即有两个连接,当不会相互影响。
laqhelen 2013-01-11
  • 打赏
  • 举报
回复
服务器端每个socket对应一个客户,只有与客户对应的socket才会收到他的数据,看看《WinSock网络编程经络》吧,源码下载地址: http://download.csdn.net/detail/geoff08zhang/4571358
赵4老师 2012-12-24
  • 打赏
  • 举报
回复
如果C1和C2是使用同一个SOCKET的两个线程,会。
bustoy 2012-12-24
  • 打赏
  • 举报
回复
服务端会开辟一个端口与客户端进行数据通信的 你可以理解为本机或者远程两台计算机上的两个逻辑端口之间有一个虚拟的通道,两端通过此通道进行数据交互
jimette 2012-12-24
  • 打赏
  • 举报
回复
必须不会啊。。。
科比布莱恩特 2012-12-24
  • 打赏
  • 举报
回复
引用 楼主 ybdesire 的回复:
假设TCP 一个server,多个client client都向server发送数据 会不会出现下图这样的情况,C1的数据包和C2的数据包发送后,S接收到的数据出现错位!!
不会,一个client一个端口,只会通过这唯一的端口来进行通信

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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