`
kongshanxuelin
  • 浏览: 925487 次
  • 性别: 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的整站用户。

    WebIM 即时通讯 网页聊天

    9. **群组聊天与广播**:除了点对点的私聊,WebIM系统往往还支持群组聊天和广播消息,这需要额外处理群组成员管理和消息分发逻辑。 10. **推送通知**:当用户不在网页上时,可以通过服务器推送通知到手机APP或邮件...

    实现webim得用ajax

    实现WebIM的关键技术之一是Ajax(Asynchronous JavaScript and XML),它是一种使用JavaScript异步与服务器交换数据并更新部分网页的技术,而无需刷新整个页面。在本文中,我们将深入探讨如何利用Ajax实现WebIM系统...

    在线聊天WEBIM.rar

    在“在线聊天WEBIM.rar”这个压缩包中,"WEBIM"可能是一个项目目录,包含了实现这些功能的源代码、配置文件、样式表、脚本和其他相关资源。解压并研究这些内容,可以深入了解WebIM的实现细节,对于学习和开发自己的...

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

    基于HTML5语言技术的WebIM组件前端设计与实现 本文旨在设计和实现基于HTML5语言技术的WebIM组件前端,旨在满足用户在浏览Web网页时与在线好友即时交互的需求。通过使用HTML5技术和JavaScript,设计了一款面向Web...

    webim

    WebIM,全称为Web即时通讯,是一种基于Web技术实现的在线聊天系统,它允许用户在浏览器中进行实时的文本、语音甚至视频通信,无需安装额外的客户端软件。WebIM的核心是利用WebSocket等现代网络通信协议,提供低延迟...

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

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

    webim实现含src

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

    WEBIM网站开发用途

    WEBIM,全称为Web Instant Messaging,是基于Web的即时通讯系统,允许用户通过浏览器进行实时聊天、群组讨论、文件传输等操作。它的工作原理通常涉及WebSocket协议,这是一种在浏览器和服务器之间建立长连接的协议,...

    WebIM 纯页面聊天游戏开发包

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

    基于XMPP的webIm 实现

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

    WEBIM之Continuation方式实现

    【标题】"WEBIM之Continuation方式实现"主要探讨的是在网络通信中,特别是Web即时通讯(WebIM)场景下,如何利用Continuation技术优化数据传输和处理的方式。Continuation是一种编程模式,它允许将一个操作分阶段...

    openfire+smack开发webim笔记

    【三】WebIM与JWChat WebIM是嵌入到网页中的即时通讯客户端,无需安装额外软件即可使用。JWChat是一个基于AJAX技术的WebIM客户端,它使用JavaScript和HTML实现,支持基本的IM功能、用户管理和群聊功能。通过JSON进行...

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

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

    webim,即时通信软件,php

    综上所述,WebIM作为一个基于PHP和MySQL的即时通信解决方案,涉及到的技术点包括WebSocket通信、PHP后端开发、MySQL数据库管理、前端JavaScript实现、安全性、扩展性、多设备兼容性、实时性与性能优化以及用户隐私...

    WebIM_Ajax框架

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

    WebQQ WebIM WebSocket

    在WebQQ WebIM中,WebSocket用于前端与后端的实时通信,实现聊天消息的收发。 4. **WebQQ WebIM实现**:WebQQ WebIM是基于WebSocket的Web版即时通讯系统,用户可以在网页上进行实时聊天,无需像传统WebQQ那样通过长...

    webim(web即时通)学习文档

    6. **群组与频道管理**:WebIM不仅支持一对一的私聊,还可能包含群组聊天、频道订阅等功能。这需要设计合理的权限管理和用户分组逻辑。 7. **消息历史记录**:为了提供良好的用户体验,WebIM系统需要能存储和检索...

    webim-for-thinkphp

    WebIM的特点包括轻量级、跨平台、低延迟和高效率,适合在网页中实现聊天功能。此项目中的WebIM可能包括前端界面、后端服务器和数据库交互部分,用于处理用户身份验证、消息传输和状态管理等功能。 2. **ThinkPHP**...

Global site tag (gtag.js) - Google Analytics