IM 选型 协议 服务器

xmpp协议,xml传输

openfire,smak

mqtt协议,IBM出的

流量小,功能不太全

MQTT的优点是协议简单,流量少,但是它并不是一个专门为IM设计的协议,多使用于推送。

MQTT是IBM推出的一种针对移动终端设备的基于TCP/IP的发布/预订协议,可以连接大量的远程传感器和控制设备。

MQTT的官网见:http://mqtt.org/。其中http://mqtt.org/software里面提供了官方推荐的各种服务器和客户端使用的各种语言版本的API

Erlang MQTT消息服务器emqtt

SIP协议,

多用于VOIP相关的模块,是一种文本协议

私有协议,例如qq,微信等

二进制序列化库有protobufMessagePack

而市面上几乎所有主流IM APP都是是使用私有协议

=======================================================

socket.io封装了websocke。

WebSocket则提供使用一个TCP连接进行双向通讯的机制,包括网络协议和API,以取代网页和服务器采用HTTP轮询进行双向通讯的机制。

本质上来说,WebSocket是不限于HTTP协议的,但是由于现存大量的HTTP基础设施,代理,过滤,身份认证等等,WebSocket借用HTTP和HTTPS的端口。由于使用HTTP的端口,因此TCP连接建立后的握手消息是基于HTTP的,由服务器判断这是一个HTTP协议,还是WebSocket协议。 WebSocket连接除了建立和关闭时的握手,数据传输和HTTP没丁点关系了

相关推荐