默认
发表评论 6
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
IM通信时,怎能确切知道TCP缓冲区的数据是否真的送达?
阅读(29512) | 评论(6 收藏 淘帖1
大佬们,我是用php(swoole)来开发的,send数据,数据会写到socket缓冲区,但是无法知道消息是否真的送达,如何去解决这个问题?

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:求助 IM开发
上一篇:要做国外IM聊天应用,请问Android默认的FCM推送支持锁屏呼叫吗下一篇:求教基于socket.io的web推送系统,如何进行性能测试和优化

本帖已收录至以下技术专辑

推荐方案
评论 6
加入应用层ack机制
应该有flush方法吧。
我在群里回复过你了,不知道你是否理解,我的回复是:
“你应用层代码是很难知道tcp 缓冲区里的情况的。因为tcp协议本身是“流”的概念,它没办法知道你给它的数据是分成了多少段,它只是按照它的协议帧一点点发的”

解决你的疑问,目前的主流办法就是应用层加ACK应答确认机制,这是最保险,也是最容易实现的。
楼主,这没办法知道吧,应用层的开发语言几乎没见过有这样的api
签名: 秋天到了,终于凉快了
楼主想错了,你这是想深入到tcp协议栈这一层啊,又不是搞底层开发
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部