即时通讯接口设计?
之前收集过这方面的资料,试着回答一下。首先这是一个轮子,可以使用已经存在的轮子,也可以自己造一个。已经存在的轮子我知道的有国外的OpenFire,国内的TeamTalk。可以上Github找到。如果想自己造轮子的话,也是可以得,题主那是Web的思路,效率非常低,不推荐。我提供一些思路上的建议:连接方式上的选择:使用非阻塞的TCP长连接,从效率上来说,这点很重要。非阻塞可以实现更多的在线用户,长连接可以实现即时。传输数据格式的选择:一般有二进制格式和文本格式,前者可以实现更小的流量,而后者解析起来更容易一些。可以根据自己的需求选择。OpenFire用的是文本格式(xml)而TeamTalk用的是二进制格式。对于二进制格式的,有一个不错的辅助工具:Google的protocol buffer。
■网友
常见的就是基于tcp的长链接方案啊,可以参考xmpp来学习,不过不适合移动端。
■网友
websocket可以干这个事情,长链接,只链接一次就可以了
推荐阅读
- 突发情况|
- |“党建红”带动“发展绿”
- 一个利用量子纠缠实现超光速通讯的构想,可行吗
- 禁毒教育|
- 咋防止低中奖概率的抽奖接口不被暴力请求
- 追尾事故|
- 新突破|
- 有哪些日期不宜到银行、通讯营业厅办理业务
- tcp通讯时,发送30多个1024的包到客户端,中间有包的大小不对,为啥
- 怎样评价我国出台的规范即时通信工具公众信息服务的规定?