默认
打赏 发表评论 17
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
想问一下,WebSocket是应用层协议,建立的时候会多走一次http请求,但是之后发送数据也是直接通过tcp传输,
我看我们购买的源码里是直接使用socket的,但是要自己处理半包问题,如果直接使用websocket的话,也可以在连接建立的时候对身份做一些验证,就不需要通过消息的形式验证身份了,
与直接使用Socket自己去封装协议,两者的处理效率差异大吗?
评论 17
引用:JackJiang 发表于 2021-06-28 21:30
你的意思是你买的代码,在App端用websocket作为底层通信协议,而不是直接用TCP?

嗯 我是想换底层直接使用websocket,不过不知道会不会在效率方面不如直接使用socket,毕竟一个是应用层的协议,一个属于是直接调用传输层
引用:JackJiang 发表于 2021-06-29 09:17
回答你的问题很简单,WebSocket这个组合词,前面那3个字母啥意思?你体会一下就有答案了

我的理解是这样的:早期大家都是使用socket,经过自己的逻辑封装做底层通讯协议,然后h5的大佬制定了一套通用的协议,命名为websocket,使得大家可以快速上手tcp长连接,后来不止h5,各端都开始支持这套协议,就像短连接都遵循http协议这样。
也不知道我的理解对不对,因为使用websocket的话,app也是支持的,web端也会容易开发一些,但是如果是处理起来效率不如直接使用socket的话,还是要用socket的,现在属于选型阶段。
引用:JackJiang 发表于 2021-06-29 09:17
回答你的问题很简单,WebSocket这个组合词,前面那3个字母啥意思?你体会一下就有答案了

WebSocket API是 HTML5 标准的一部分, 但这并不代表 WebSocket 一定要用在 HTML 中,或者只能在基于浏览器的应用程序中使用,这个是文章里的内容,我觉得不能因为命名是web,就说明不适合用在app吧
引用:JackJiang 发表于 2021-06-29 21:15
我想表达的意思是,有更强大的(准确地说是更底层),技术资源(包括源码、资料)更丰富的,久经考验的tc ...

对,用websocket的话不需要去考虑半包粘包的策略了,其他倒也没什么不同,而且对刚接触长连接的开发来说,websocket确实好上手一些,其实服务端倒也没什么,两种都可以一起实现
引用:JackJiang 发表于 2021-06-30 15:11
虽然我的 MobileIMSDK  里已经支持WebSocket,但你要让我把移动端也换成WebSocket去连,我肯定不干,跟We ...

ok  这个我懂的  肯定越底层实现,可操作空间越大的,我们买的RainbowChat和MobileMSDK源码里,websocket那块还是待实现,是有版本了吗
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部