基于XMPP的WEB聊天,多页面的解决方案?

dds
  • 13

目前在实现基于xmpp的web聊天,现在是一个页面创建一个连接,相当于不同的终端,这样比较耗系统资源,不知道有没有什么好的解决方案?
我用的是OpenFire + Strophe.js

回复
阅读 10.6k
2 个回答

xmpp多页面是一个软肋你得先认识到。所以考虑设计问题,如果实在需求上需要页面间跳转那么方法也是有的
1 是一个比较简单的方法。资源冲突。你登录的时候采用显示资源登录。即不是使用bareJID 而是fullJID 这样一旦重连资源是会被冲突掉的,于是不会造成资源浪费;
2 strophe自带attach功能。可以在页面跳转时(自己触发或者用onunload类似事件)将连接好的sid rid 存入web存储层(cookie等)或者服务器端,然后在新页面中读取该信息并attach,注意到长连接有响应间隔,所以跳转过程不能太久 一旦sid过期就无法attach了;
3 或者还是用障眼法吧 采用一些前端分页功能。现在无缝浏览也是一种流行趋势= =~
暂时想到这些~

websocket+node.js
rtmp+flash

xmpp没搞过

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏