`
kongshanxuelin
  • 浏览: 912970 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

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

阅读更多

现在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是怎么来设计与实现的呢?也是用开源的产品么?大家一起来讨论下,我这里先抛砖引玉一下:)

分享到:
评论
9 楼 myclover 2009-03-19  
xmpp协议的工作原理大概是怎么样的呢?
哪个晓得不啊?谢谢
8 楼 achun 2009-03-09  
XMPP中网关承担着与异构即时通信系统的互联互通
我想问的是,大家觉得,客户双方直接通过UDP通讯可能么?
估计穿透内网是个大问题
7 楼 bohemia 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来做得方便.


6 楼 bohemia 2009-02-20  
决定使用
Dojo+Jetty Cometd+Jetty Continuation+Bayeux协议 方式来实现一个.
不知道结果怎样.

5 楼 cucumber 2008-09-22  
最近也在研究相关的内容,关注下。。。
4 楼 kongshanxuelin 2008-09-21  
jianfeng008cn 写道

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

Web版目前开源的基于Openfire的已经有音视频聊天功能了,使用Red5 Server,而且Web版一般也不会注重实现桌面版的所有功能的,一般注重简洁好用就行了
3 楼 jianfeng008cn 2008-09-20  
web版本为什么不能实现桌面版的所有功能呢?能否介绍下。
2 楼 comasp 2008-09-20  
openfire好像有一款 webim。不过单机版的还比较强大。
web版本的 只能聊天。
1 楼 wangjinpeng 2008-09-20  
message gateway+activeMQ+jetty bayeux server+JMS+dojo cometd

相关推荐

    uchome webim聊天室插件

    uchome webim聊天室插件 是一个类似QQ的聊天插件,可以跟网站的其他用户在线聊天。整合到UCH的整站用户。

    基于HTML5语言技术的WebIM组件前端设计与实现.pdf

    基于HTML5语言技术的WebIM组件前端设计与实现.pdf

    实现webim得用ajax

    实现webim,使用ajax.需要大于20个字符,不支持HTML标签。

    在线聊天WEBIM.rar

    在线聊天WEBIM.rar

    layim+环信(pc端webIm)聊天demo,前端实现

    前端实现网页端layim+环信聊天,文字/图片/文件发送,联系人等接口是我自己的假数据,替换你的接口即可;环信请替换成你自己的key; 案例中只有张三和李四两个用户名能通讯,测试时请选择这两个来聊天(注意接口中必须用id...

    webim实现含src

    WebIM Client简单实现 本文描述了使用javascript直接连接xmpp server的方法和详细配置,使用XEP-0124和xmpp server无缝接合。从而实现webim的实时性和高效性。

    WebIM 即时通讯 网页聊天

    网页即时通讯源码,给大家分享一下 C#源码 IM 仿webQQ

    WebIM 纯页面聊天游戏开发包

    Webim 纯页面即时通讯聊天软件系统可以整合在您的网站上,实现Web对Web的通讯!浏览网站的会员之间可以实时聊天,无需要安装任何插件! 我们提供是HTML页面,可整合在任何网页中,立即拥有实时聊天功能,强大的二次...

    基于XMPP的webIm 实现

    基于XMPP协议的WEBIM 简单实现,如有开发openfire+spark/jwchat的可以参考

    WebIM-for-近乎SNS插件 v5.3

    WebIM-for-近乎SNS是为近乎SNS微博社区开发的站内即时消息系统,实现近乎SNS微博社区好友间的即时聊天。Nextalk是专为社区网站开发的即时消息系统NexTalk是专为社区网站(论坛/社区/微博)开发的简单,专业,开源的...

    WebIM_Ajax框架

    本 WebIM 系统采用 B/S 模式,使用浏览器 ajax 实现即时聊天。 服务器端采用 MC 设计模式,Controler 分为组包拆包模块(编码子模块、加密解密子模块、序列化/反序列化子模块)和主处理模块(包含:Manager、DAO);...

    webim

    webim,一款web MSN 代码

    layim+环信(pc端webIm)聊天demo,前端实现(新更改)

    前端实现网页端layim+环信聊天,文字/图片/文件发送,联系人等接口是我自己的假数据,替换你的接口即可;环信请替换成你自己的key; 案例中只有张三和李四两个用户名能通讯,测试时请选择这两个来聊天(注意接口中必须用id...

    Webim for 记事狗插件

    WebIM-for-记事狗插件是为记事狗微博社区开发的站内即时消息系统,实现记事狗微博社区好友间的即时聊天。 NexTalk采用跨域WebSocket或JSONP,有效避免了Webim对社区站点本身资源占用,以支持大规模的同时在线用户。 ...

    WebIM研究整理

    WebIM研究集合帖,绝对有所值 1.WebIM目录对应http://blog.csdn.net/zwdsmileface/article/details/45111111和http://blog.csdn.net/ibm_hoojo/article/details/7850540 2个帖子集合可以,但是后一篇帖子的jsjac.js...

    WebIM-for-PHPWind插件 v5.4.2

    WebIM-for-PHPWind插件是为网站社区开发的站内即时消息系统,实现网站社区好友间的即时聊天。NexTalk采用跨域WebSocket或JSONP,有效避免了Webim对社区站点本身资源占用,以支持大规模的同时在线用户。 功能介绍站...

    基于AJAX的WebIM(ASP.NET + JQuery + AJAX)

    本 WebIM 系统采用 B/S 模式,使用浏览器 ajax 实现即时聊天。 服务器端采用 MC 设计模式,Controler 分为组包拆包模块(编码子模块、加密解密子模块、序列化/反序列化子模块)和主处理模块(包含:Manager、DAO);...

    PHPWebIM网页即时聊天工具 v1.0.zip

    PHPWebIM网页即时聊天工具 v1.0.zip

    人工智能-项目实践-即时聊天-使用PHP+Swoole实现的网页即时聊天工具

    使用PHP+Swoole4实现的网页即时聊天工具,在线体验地址:http://webim.swoole.com/ 基于Swoole4协程实现,可以同时支持数百万TCP连接在线 基于WebSocket+Http Comet支持所有浏览器/客户端/移动端 支持单聊/群聊/组...

    webim与移动im.pptx

    webim与移动im

Global site tag (gtag.js) - Google Analytics