现在WebIM可谓非常流行,其中已实现WebIM的厂商包括大名鼎鼎的sohu,Tencent QQ,Microsoft MSN,Google Gtalk,新浪,alibaba的淘宝旺旺,很多很多,基于WebIM的聊天引擎设计思路无非以下几种:
目前利用的最多的是通过Flash的XmlSocket+JS与网页的聊天UI进行交互或直接利用Flash界面(可基于Flex的AIR或其他等),本文重点介绍第5种聊天引擎的设计与实现,这也是大名鼎鼎Google的Gtalk采用的协议,关于XMPP协议,大家可以查阅http://www.官方网站,先想听听大家的意见,大家一般实现WebIM是怎么来设计与实现的呢?也是用开源的产品么?大家一起来讨论下,我这里先抛砖引玉一下:)
|
|
评论
哪个晓得不啊?谢谢
我想问的是,大家觉得,客户双方直接通过UDP通讯可能么?
估计穿透内网是个大问题
这个问题比较明显,不多说了.
基于Pushlet技术的聊天引擎的实现
到官网看下下Pushlet的框架,作者提到要不断的升级更新,支持各种协议.
现在应该是采用client-pull方式实现Comet;
基于Comet技术的聊天引擎的实现
基于Jetty服务器的Comet技术的聊天引擎的实现
目前Jetty和Tomcat6貌似都有类似comet的支持了. 等Servlet3技术出来后,估计慢慢都支持了.
基于XMPP协议的聊天引擎的设计与实现(可以利用Flash或Ajax或Js与Jabber服务器交互)
使用xmpp的Flash Socket通讯的 不知道实现起来难度大不大. 我倒想用用这个方式,不过感觉没直接jetty+dojo实现cometd来做得方便.
Dojo+Jetty Cometd+Jetty Continuation+Bayeux协议 方式来实现一个.
不知道结果怎样.
web版本为什么不能实现桌面版的所有功能呢?能否介绍下。
Web版目前开源的基于Openfire的已经有音视频聊天功能了,使用Red5 Server,而且Web版一般也不会注重实现桌面版的所有功能的,一般注重简洁好用就行了
web版本的 只能聊天。