WebSocket与MQTT在即时通讯中,哪种架构更适合你的需求?
- 内容介绍
- 文章标签
- 相关推荐
在这个乱七八糟的技术世界里选个协议真难
哎哟喂,又要开始Zuo即时通讯了是不是?每次一提到这个我就头疼,真的头疼。现在的老板huo者是产品经理, 张口闭口就是“我们要像微信一样快”,可是他们哪里知道背后的架构有多复杂啊!市面上吵得Zui凶的两个协议,无非就是WebSocket和MQTT了。这两货天天被人拿出来比来比去,就像是苹果和安卓之争一样没完没了,薅羊毛。。
其实吧,这事儿没那么玄乎,但也jue对没那么简单。我们得聊聊这俩到底是啥玩意儿。WebSocket呢, 说白了就是给浏览器修了一条高速公路,以前HTTP那种一来一回的模式太慢了现在有了这条双向通道,服务器想什么时候发消息就什么时候发消息,爽不爽?确实爽。MQTT呢?这货是个搞物联网出身的, 原本是用来给那些只有一点点内存的传感器传数据的,轻量级得不得了讲究的就是一个省电、省流量,哈基米!。

dan是呢,咱们ZuoIM的时候,到底该选哪个?这就好比你去买车,你是要一辆跑车还是要一辆皮卡? 来日方长。 kan需求呗!不过说实话,hen多人根本没搞清楚需求就开始瞎选了。
先说说那个老当益壮的 WebSocket 吧
说到点子上了。 WebSocket 这东西在Web前端领域简直就是神一样的存在。为什么呢?主要原因是浏览器原生支持啊!你不用搞那些乱七八糟的库,直接 `new WebSocket` 就Neng连上,多简单。通信模型嘛,就是一个长连接TCP通道建立起来之后双方就随便发数据包了。这种全双工通信的感觉真的hen棒。
dan是啊,凡事dou有个dan是。WebSocket虽然好用,可是它本质上就是一个管道啊兄弟们!它只管传数据,不管你数据里是啥意思。这就意味着你要自己定义消息格式是用JSON还是用Protobuf, 还得自己处理丢包怎么办、重连怎么办、心跳包怎么发……这一套下来头发douNeng掉好几把。
闹笑话。
在这个乱七八糟的技术世界里选个协议真难
哎哟喂,又要开始Zuo即时通讯了是不是?每次一提到这个我就头疼,真的头疼。现在的老板huo者是产品经理, 张口闭口就是“我们要像微信一样快”,可是他们哪里知道背后的架构有多复杂啊!市面上吵得Zui凶的两个协议,无非就是WebSocket和MQTT了。这两货天天被人拿出来比来比去,就像是苹果和安卓之争一样没完没了,薅羊毛。。
其实吧,这事儿没那么玄乎,但也jue对没那么简单。我们得聊聊这俩到底是啥玩意儿。WebSocket呢, 说白了就是给浏览器修了一条高速公路,以前HTTP那种一来一回的模式太慢了现在有了这条双向通道,服务器想什么时候发消息就什么时候发消息,爽不爽?确实爽。MQTT呢?这货是个搞物联网出身的, 原本是用来给那些只有一点点内存的传感器传数据的,轻量级得不得了讲究的就是一个省电、省流量,哈基米!。

dan是呢,咱们ZuoIM的时候,到底该选哪个?这就好比你去买车,你是要一辆跑车还是要一辆皮卡? 来日方长。 kan需求呗!不过说实话,hen多人根本没搞清楚需求就开始瞎选了。
先说说那个老当益壮的 WebSocket 吧
说到点子上了。 WebSocket 这东西在Web前端领域简直就是神一样的存在。为什么呢?主要原因是浏览器原生支持啊!你不用搞那些乱七八糟的库,直接 `new WebSocket` 就Neng连上,多简单。通信模型嘛,就是一个长连接TCP通道建立起来之后双方就随便发数据包了。这种全双工通信的感觉真的hen棒。
dan是啊,凡事dou有个dan是。WebSocket虽然好用,可是它本质上就是一个管道啊兄弟们!它只管传数据,不管你数据里是啥意思。这就意味着你要自己定义消息格式是用JSON还是用Protobuf, 还得自己处理丢包怎么办、重连怎么办、心跳包怎么发……这一套下来头发douNeng掉好几把。
闹笑话。

