免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2117 | 回复: 3

[网络] TCP通讯,是不是不需用应答的方式来保证数据被对方正确接收? [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之八一
日期:2018-12-06 21:25:36
发表于 2015-06-01 18:29 |显示全部楼层
TCP通讯时,现在我是客户端发送一个数据,服务器端收到后,发送一个确认数据,客户端收到确认数据后,表示数据发送成功。
是不是多此一举了?

论坛徽章:
1
2015亚冠之迪拜阿赫利
日期:2015-07-01 18:38:38
发表于 2015-06-19 11:51 |显示全部楼层
一般不用发确认数据,而是回复数据
比如协议是A给B发送" I want to join in" ,B给A回复"Ok,you can"
所以A在发完"I want to join in"后等待接收"Ok,you can"来判断B是否允许加入(和B是不是在线),就是不用发送确认数据了

论坛徽章:
1
天蝎座
日期:2015-03-09 10:14:22
发表于 2015-06-24 11:55 |显示全部楼层
如果是用socket套接字来发送 可以根据send函数的返回值来判断发送成功了没有,但如果想更严谨一点你的做法是正确的,因为tcp报文段就包括了ack确认报文段。用来确认所收到的数据报正确到达。

论坛徽章:
0
发表于 2015-07-02 20:57 |显示全部楼层
linux下执行`man 7 tcp`参考参考,
tcp的数据传输是可靠的,如果你的socket、connect、send这些调用都没有出错,并且send的返回值等于你要发送的数据大小,就说明数据发送成功了;
如果send的返回值小于要发送的数据大小,你要继续发剩下的数据,直到你发的总和等于你要发的数据大小,参考beej.us/guide/bgnet/output/html/singlepage/bgnet.html#sendall。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP