忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 2112 | 回复: 4

[C++] Tcp应用层是否还需要应答机制。 [复制链接]

论坛徽章:
3
15-16赛季CBA联赛之佛山
日期:2016-11-04 14:21:2015-16赛季CBA联赛之山西
日期:2017-01-05 21:29:2715-16赛季CBA联赛之佛山
日期:2017-07-28 16:27:15
发表于 2018-01-16 10:10 |显示全部楼层
比如发送某个消息,调write接口只能确定消息写到缓冲区。Tcp底层会重发这个消息到收到应答。在应用层怎么获取到某个消息发送失败/成功了信息?是否需要应用层在加应答机制。
打赏鼓励一下!

论坛徽章:
0
发表于 2018-01-16 15:37 |显示全部楼层
看业务需求了。一般情况下,发送成功就认为对方收到了。如果这个业务是需要确认的,那在一定时间内没收到对方回复再做相应处理。比如你发了个消息,如果需要知道对方是已读还是未读,就等对方回应。如果不关心,发完就算了。

论坛徽章:
3
15-16赛季CBA联赛之佛山
日期:2016-11-04 14:21:2015-16赛季CBA联赛之山西
日期:2017-01-05 21:29:2715-16赛季CBA联赛之佛山
日期:2017-07-28 16:27:15
发表于 2018-01-16 15:43 |显示全部楼层
回复 2# sxcong

怎么知道发送成功了。

论坛徽章:
0
发表于 2018-01-16 16:06 |显示全部楼层
send返回值等于你发的长度,你就安心地认为它成功了。再较真就没意思了,不如直接用UDP。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2018-02-15 21:23 |显示全部楼层
本帖最后由 yulihua49 于 2018-02-15 21:28 编辑
sxcong 发表于 2018-01-16 16:06
send返回值等于你发的长度,你就安心地认为它成功了。再较真就没意思了,不如直接用UDP。

正确。
有很多人就是要拿TCP当UDP用。
在交易型通信,只要发了,就认为收到了,然后等结果。如果通信异常,可能超时。发生超时就知道消息传送有问题了。
所谓交易型,就是一手交钱一手交货。交了钱就等到货,不要问收没收到钱。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP