您的位置: 宿迁信息港 > 汽车

网页即时通讯总结网站即时通讯功能的实现方

发布时间:2019-05-15 00:47:29

1 : 总结站即时通讯功能的实现方法及架构

我们先以聊天室为例来讲,web聊天室的实现方法有多种,包括:基于ajax技术的实现,基于Comet(Pushlet)技术的实现,基于XMPP协议的实现,和基于flash的XmlSocket和远程同享对象的实现。

(1)基于ajax技术的实现。

ajax(异步JavaScript和XML,Asynchronous javascript and xml),它的作用就是可以实现页面与服务器真个无刷新交互。用ajax来实现web聊天室的基本原理是:在页面上每隔1段时间就通过ajax从服务器中 获得数据,然后更新页面显示。这类方法简单明了,缺点是实时性不高。

(2) 基于Comet技术的实现。

Comet 是1种新的 Web 利用架构。基于这类架构开发的利用中,服务器端会主动以异步的方式向客户端程序推送数据,而不需要客户端显式的发出要求。Comet 架构非常合适事件驱动的 Web 利用,和对交互性和实时性要求较高的利用,如股票交易行情份析、聊天室和 Web 版游戏等。

Pushlet是1种comet实现(Pushlet 是开源的Comet 框架):在Servlet机制下,数据从服务器的Java对象直接推送(push)到客户真个页面,而无需任何Java applet或插件的帮助。它使server端可以周期性地更新client的web页面,这与传统的request/response方式不同。

Pushlet基于HTTP流,这类技术常经常使用在多媒体视频、通讯利用中,比如QuickTime。与装载HTTP页面以后马上关闭HTTP连接的做法相 反,Pushlet采取HTTP流方式将新数据源源不断地推送到client,再此期间HTTP连接1直保持打开。有关如何在Java中实现这类 Keep-alive的长连接请参看Sun提供的《HTTP Persistent Connection》和W3C的《HTTP1.1规范》。

(3)基于XMPP协议的实现

XMPP(可扩大消息处理现场协议)是基于XML的协议,是专为及时通讯系统设计的通讯协议,用于即时消息和现场探测。它在促进服务器之间的准即时 操作。这个协议可能终究允许因特用户向因特上的其他任何人发送即时消息,即使其操作系统和阅读器不同。XMPP的前身是Jabber,1个开源情势组 织产生的络即时通讯协议。的开源聊天系统服务器Openfire就是基于XMPP协议的Jabber服务器。

可以通过Flash或ajax与Jabber服务器进行交互,实现webIM的功能,

(4)基于flash的XmlSocket的实现

Flash Media Server是1个很强大的流媒体服务器,它基于rtmp协议,提供了强健的流媒体交互功能。在FMS中,提供1种远程同享对象(SharedObject) 的机制,客户端可以创建并连接到服务器真个远程同享对象。可以有很多个客户端连接到同1个远程同享对象中,任何1个客户端对同享对象进行了修改,服务器都 会将同享对象的修改信息发送给所有其他连接到这个同享对象的客户端。这类远程同享对象的机制可以很方面地实现以下功能: 远程控制幻灯片放映 文字聊天 络对战 远程选择和播放歌曲 现场拍卖 客户服务利用程序。

远程同享对象很适合用于实现web聊天室中的群聊功能。为每个群都建立1个远程同享对象,这样的话,任何用户在群上发信息,就能够通过服务器自动发送到所有的群成员。

用远程同享对象来实现单聊是不实际的。对应单聊的实现,我们需要借助socket。客户端通过socket服务器与其他客户端进行私聊。聊天信息通过socket服务器进行转发。

这类方式是效率的web聊天室实现方式。

即时通讯系统架构

简单地介绍1下大型商业利用的IM系统的架构。设计这类架构比较重要的1点是低耦合,把全部系统设计成多个相互分离的子系统。我把全部系统分成下面几个部分:(1)状态消息系统 (2)好友系统 (3)P2P系统 (4)其他扩大业务系统

先看状态消息系统

(1)connd

client接入服务器,可以支持UDP,也能够支持TCP,1般建议优先选择TCP。connd可以布置多台,client接入时,可以用简单的DNS轮询的方式实现负载均衡。connd功能是保护连接和转发消息包。

(2)pconnd

proxy connd, 代理接入服务器,是connd的扩大,除有connd的功能外,支持服务器的接入,比如web server。

(3)msgd

消息处理服务器,主要功能是用户状态管理,消息转发(包括公道性验证)和离线消息保存。

说1个用户登录成功后,对所有好友的状态通知进程。我设计的系统中,把用户状态也简单看成类似文本聊天消息。下面用户U的上线进程,他有好友F1, F2。

(1) connd收到U上线消息,将消息发给U所在的msgd。

(2) msgd取得U的好友,F1, F2;如果F1, F2和U不在同1个msgd上,msgd将消息通过connd转给F1, F2所在的msgd。

(3) 终究的msgd把上线通知通过connd发给F1, F2。

msgd的U是通过甚么方式获得的好友呢? 这个问题我要侧重描写1下。

用户的好友数据都在另外1个子系统中:好友子系统。 msgd通过TCP的方式(为何用TCP呢?)主动从好友系统获得。同时,msgd也缓存1份好友数据。msgd获得用户好友时,如果cache是的,直接从cache取,否则要从好友子系统那边取。现在重点问题出来了,如何肯定用户的好友是的?这类问题我们要根据不同的业务不同的特点灵活采取不同的方法。请看1种高效的处理方式:

(1) 好友子系统为每个用户的好友算个hash值(可以用MD5)。

(2) client取得好友时,同时也拿到这个hash值;发和好友相干的消息时,把hash值带给msgd。

(3) msgd第1次从好友子系统获得某个用户好友时,也取得这个hash值;像要转发状态消息,取得好友时,把client带过来的hash1和本身的hash2比较1下。。。

像IM这类业务特点是,对好友数据的写很少,读很多,相对读的消耗,写基本可以疏忽的。用上面的方法,基本上每次二者的hash值是相等的,直接从cache拿好友数据。这类处理方法也能够引入到其他利用业务中。建议不要每次都粗鲁地跨进程获得类似好友数据。

2 : 经济视察:即时通讯鼻祖ICQ之死

今年2月份,传出了美国AOL出售即时通讯软件ICQ的,这款即时通讯软件是该类软件的鼻祖,它同时也第1次实现了让信息漂洋过海,让世界近在咫尺。它改变了1代人沟通和交换的方式,并且在其以后,曾出现了5、610款模仿者,包括世界第3大互联公司腾讯。

而今,ICQ面临被收购的局面,腾讯却站在了收购者的阵营里。

就在上个月,美国收到了来自两家俄罗斯公司和中国腾讯控股有限公司提出的有束缚力的收购报价。媒体报导称此次收购价格可能不到2亿美元,乃至低于AOL在1998年从以色列创业公司Mirabilis收购ICQ的2.87亿美元,被称贱卖。

在山寨盛行、复制无罪的市场情况下,用户的虔诚度和人气的聚集是生存不2法则,腾讯、淘宝无1例外。而越是抢占先机先占据市场和累计人气,在未来发展中常常能凭仗其先天优势占据有益地位。但是是甚么让ICQ起了大早,却赶了个晚集。

这其中有偶然因素,也是其本身缺点的一定。据了解,在腾讯取代ICQ的进程中,中国电信曾充当了免费助手的角色。腾讯控股旗下的创建于1998年,首创之初不但模仿icq。1999年以来,中国民们开始使用较便宜的169络,而169是不能出国使用ICQ的,因而大多数人开始转而使用腾讯。

与此同时,ICQ本身的1些缺点致使了其用户虔诚度很低,1旦有可代替的软件,用户必将大量流失。例如腾讯的好友资料存储于服务器,用户登录时自动下载,故合适在吧使用。而ICQ的用户资料贮存于本地机器,而且每次删除或升级都有全部丢失的危险。在新兴的中国互联市场,具有的个人和家庭计算机的用户少之又少,大部份友都只能在吧等公众场所上,数据显示,直到2000年,中国每千人个人电脑具有量仅为15.9台。

ICQ不但没有注意这些国外市场的实际情况,还在全球范围内只推出了英文版。这就给其他本土的即时通讯软件带来了机会,而国内的盛行很大1部分缘由都是由于ICQ没有中文版酿成的。根据调查显示,国内如今的IM软件排名中ICQ只排到了第8位。

与ICQ当年做法不同的是,腾讯马化腾表示,由于即时通讯用户的黏度很高,腾讯不会轻易进军MSN等占主导的英语国家市场,而是偏向选择新兴市场寻觅机会。ICQ目前的市场主要集中在德国、俄罗斯、东欧及以色列,正符合马化腾的这1扩大思路。

如果说在中国市场的失利是由于本土化做得不好,那末在美国市场创新不足当被视为罪魁罪魁,自从AOL1998年斥资2.87亿美元收购该公司以来其增长速度便开始放缓且盈利水平不高,落后于微软、雅虎和谷歌。

1家推出,另外一家马上跟上,研制出类似的功能这已成为即时通讯市场不争的事实。中国即时通讯工具的老大是以仿制ICQ起家,从文字到语音,从音频到视频,从传送文件到游戏,几近所有通讯软件都提供了雷同的功能。深谙中国人心理的腾讯,近几年来开辟了农场、好友印象和对其隐身或隐身可见等人性化设计,使得号码成为大多数年轻人络身份的代表。

ICQ的退出或许只是1个开始,竞争日趋剧烈的IM市场,腾讯、微软NSN、新浪UC、易popo等正上演着病树前头万木春的景象,谁将是下1个ICQ?

3 : MySpace推页即时通讯服务 界面似Facebook

北京时间5月16日消息,据国外媒体报导,美国知名社交站MySpace今天正式推出了页即时通讯功能。

加拿大、英国、澳大利亚、新西兰、爱尔兰及美国等英语国家的用户,可以在站页面底部发现1条蓝色的任务栏。在任务栏右边则是站的即时通讯服务MySpaceIM。

MySpaceIM界面截图

该产品界面与Facebook的页即时通讯功能10分类似,用法也10分相近,公道的布局使用起来则更加顺手--与Gmail中的聊天功能位置类似,都处于窗口的右下方,这仿佛同样成为了行业的1个标准。

与Facebook类似的还有好友选择功能,用户可以决定哪些人能看见自己的状态,哪些人可以被加进黑名单。

MySpace官方证实了推出这1功能的消息,并表示此前部份加拿大及英国用户参与了试用。站同时还推出了1个该利用的客户端软件,可以与Skype互通。

业界评论称,斟酌到多数利用都被集成在页上的趋势,单独推出1个客户真个方式显得有些奇怪。虽然即时通讯功能在MySpace人事动荡之前就已开始测试,但它还是这1社交站权利更迭后的重要产品。有趣的是,公司新首席运营官Mike Jones曾是1家络聊天服务公司的首创人,他无疑对即时通讯服务10分了解。(编译/梦希)

益母颗粒什么时候喝
妇科千金片作用与功效
妇科千金片功效
猜你会喜欢的
猜你会喜欢的