目前正在开发一个网页实时聊天,支持web和手机端即时通讯,支持web多页面的接收和发送,仅支持单对单的聊天模式。
开发过程中遇到了一些问题,记载下来以供以后参考:
1。在技术选型方面,目前实现聊天及时通讯的方式无非就是ajax,短轮询,长轮询,长链接。但是在网上找了许多的资料以后,发现最适合于开发的是icomet框架以及h5新支持的websocket。找了很久的icomet的demo没有找到.....等有时间了以后自己写个demo尝试一下。。。。
websocket的弊端在于支持的浏览器版本特别低,ie11以下的版本均不支持,面对大客户群的软件无法做到全部兼容状态,这时候就有两种较为普遍的解决方式:
1️⃣使用netty
2️⃣引入spring封装好的stockJs和stomp.js
各有各的优势吧.....
2。自身使用websocket已经基本实现了所有功能,包含多浏览器的实时发送,手机端和web端消息同步等,唯一的缺陷就是ie版本兼容性问题.......只是没有时间去整合websocket和StockJs。
附一下这次的技术调研文档地址
https://pan.baidu.com/s/1KQiyO7oZ_wq5Qs8EuTfKXw
另外有需要我开发的demo可以联系我,自以为写的比较差就没有传到github
附两张demo截图,开了3个窗口,一个chrome,一个safari。示例为多页面之间的消息同步