论坛首页 Web前端技术论坛

通用WebIM聊天引擎的讨论与实现

浏览 17108 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-09-20  

现在WebIM可谓非常流行,其中已实现WebIM的厂商包括大名鼎鼎的sohu,Tencent QQ,Microsoft MSN,Google Gtalk,新浪,alibaba的淘宝旺旺,很多很多,基于WebIM的聊天引擎设计思路无非以下几种:

  1. Ajax无刷新交互,设计一种时间间隔定期获取数据(如先每5秒刷新一次,再‘按5,10,15,……刷新一次获取数据,目前利用这一思路实现聊天引擎的开源产品很多,大家可以自己到open-open网站查阅)
  2. 基于Pushlet技术的聊天引擎的实现
  3. 基于Comet技术的聊天引擎的实现
  4. 基于Jetty服务器的Comet技术的聊天引擎的实现
  5. 基于XMPP协议的聊天引擎的设计与实现(可以利用Flash或Ajax或Js与Jabber服务器交互)

目前利用的最多的是通过Flash的XmlSocket+JS与网页的聊天UI进行交互或直接利用Flash界面(可基于Flex的AIR或其他等),本文重点介绍第5种聊天引擎的设计与实现,这也是大名鼎鼎Google的Gtalk采用的协议,关于XMPP协议,大家可以查阅http://www.xmpp.org官方网站,先想听听大家的意见,大家一般实现WebIM是怎么来设计与实现的呢?也是用开源的产品么?大家一起来讨论下,我这里先抛砖引玉一下:)

   发表时间:2008-09-20  
message gateway+activeMQ+jetty bayeux server+JMS+dojo cometd
0 请登录后投票
   发表时间:2008-09-20  
openfire好像有一款 webim。不过单机版的还比较强大。
web版本的 只能聊天。
0 请登录后投票
   发表时间:2008-09-20  
web版本为什么不能实现桌面版的所有功能呢?能否介绍下。
0 请登录后投票
   发表时间:2008-09-21  
jianfeng008cn 写道

web版本为什么不能实现桌面版的所有功能呢?能否介绍下。

Web版目前开源的基于Openfire的已经有音视频聊天功能了,使用Red5 Server,而且Web版一般也不会注重实现桌面版的所有功能的,一般注重简洁好用就行了
0 请登录后投票
   发表时间:2008-09-22  
最近也在研究相关的内容,关注下。。。
0 请登录后投票
   发表时间:2009-02-20  
决定使用
Dojo+Jetty Cometd+Jetty Continuation+Bayeux协议 方式来实现一个.
不知道结果怎样.

0 请登录后投票
   发表时间:2009-02-20  
Ajax无刷新交互,设计一种时间间隔定期获取数据(如先每5秒刷新一次,再‘按5,10,15,……刷新一次获取数据,目前利用这一思路实现聊天引擎的开源产品很多,大家可以自己到open-open网站查阅)
这个问题比较明显,不多说了.

基于Pushlet技术的聊天引擎的实现
到官网看下下Pushlet的框架,作者提到要不断的升级更新,支持各种协议.
现在应该是采用client-pull方式实现Comet;

基于Comet技术的聊天引擎的实现
基于Jetty服务器的Comet技术的聊天引擎的实现
目前Jetty和Tomcat6貌似都有类似comet的支持了. 等Servlet3技术出来后,估计慢慢都支持了.

基于XMPP协议的聊天引擎的设计与实现(可以利用Flash或Ajax或Js与Jabber服务器交互)
使用xmpp的Flash Socket通讯的 不知道实现起来难度大不大. 我倒想用用这个方式,不过感觉没直接jetty+dojo实现cometd来做得方便.


0 请登录后投票
   发表时间:2009-03-09  
XMPP中网关承担着与异构即时通信系统的互联互通
我想问的是,大家觉得,客户双方直接通过UDP通讯可能么?
估计穿透内网是个大问题
0 请登录后投票
   发表时间:2009-03-19  
xmpp协议的工作原理大概是怎么样的呢?
哪个晓得不啊?谢谢
1 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics