首页 >知识讲堂 >网站建设知识>实现方法及架构:网站页面即时通讯功能

实现方法及架构:网站页面即时通讯功能

2020-12-31 11:17:14 阅读(213 评论(0)

以聊天室为例, 实现web聊天室的方法有很多,包括:基于ajax技术的实现,基于comet(Pushlet)基于XMPP协议的实现,以及基于flash的XMLSocket和远程共享对象的实现。  (1)基于ajax技术的实现。 ajax(异步JavaScript和XML,Asynchronousjavascriptandxml),其功能是实现页面与服务器端的无刷新交互。使用ajax实现web聊天室的基本原理是通过ajax从服务器中获取数据,然后更新页面显示。这种方法简单明了,缺点是实时性不高。 (2)基于Comet技术的实现。 Comet是一种新的Web应用架构。在此架构开发的应用中,服务器端将主动将数据推送到客户端程序,而不需要客户端显式的要求。Comet架构非常适合事件驱动的Web应用,以及对股票交易市场分析、聊天室、Web版在线游戏等交互性和实时性要求较高的应用。 Pushlet是Comet实现(Pushlet是Comet框架的开源):在Servlet机制下,数据直接从Java对象推送到服务器(push)不需要Javaplet或插件的帮助就可以访问客户端页面。它使server端能够定期更新client的web页面,这与传统的request/response不同。 基于HTTTP流的Pushlet,该技术常用于多媒体视频、通信等应用,如QuickTime。与装载HTTP页面后立即关闭HTTP连接的做法相反,Pushlet通过HTTP流不断将新数据推送到client,HTTP连接在此期间不断打开。如何在Java中实现这种Keep-alive的长连接,请参考Sun提供的《HTTPPersistentConnection》HTTP1和W3C.1规范》。 (3)基于XMPP协议的实现 XMPP(可扩展消息处理现场协议)是基于XML的协议,是专门为即时消息和在线现场检测而设计的通信协议。它促进了服务器之间的准确和即时操作。即使其操作系统与浏览器不同,该协议最终也可能允许因特网用户在因特网上向任何其他人发送即时消息。XMPP的前身是Jabber,一个由开源组织产生的网络即时通信协议。开源聊天系统服务器Openfire是基于XMPP协议的Jabber服务器。 webIM的功能可以通过Flash或ajax与Jaber服务器交互, (4)基于flash的XmlSocket的实现 基于rtmp协议,FlashmediaServer是一种强大的流媒体服务器,它提供了强大的流媒体交互功能。在FMS中,提供远程共享对象(SharedObject)客户端可以创建并连接到服务器端的远程共享对象。许多客户端可以连接到相同的远程共享对象。任何客户端都修改了共享对象,服务器将将共享对象的修改信息发送给所有其他连接到共享对象的客户端。这种远程共享对象的机制可以在各个方面实现以下功能:·   远程控制幻灯片放映 ·   文字聊天 ·   网络对战 ·   远程选择和*歌曲 ·   现场拍卖 ·  客户服务应用。 远程共享对象非常适合在web聊天室实现群聊功能。 远程共享对象非常适合在web聊天室实现群聊功能。为每个群组建立一个远程共享对象。通过这种方式,任何用户都可以通过服务器在群组中发送信息,并自动将其发送给所有群组成员。 用远程共享对象实现单聊是不现实的。我们需要使用socket来实现相应的单聊。客户端通过socket服务器与其他客户进行私人聊天。通过socket服务器转发聊天信息。 这种方法是实现web聊天室最有效的方法。即时通信系统架构简要介绍了大型商业应用的IM系统架构。低耦合是设计这种架构的重要组成部分,将整个系统设计成多个相互分离的子系统。我将整个系统分为以下几个部分:(1)状态信息系统  (2)好友系统  (3)P2P系统   (4)其他扩展业务系统首先看状态信息系统(1)connd 可支持UDP或TCP的Client接入服务器,一般建议先选择TCP。connd可以布置多台,client接入时,可以通过简单的DNS轮询实现负载平衡。connd可以安排多个。client接入时,可以通过简单的DNS轮询实现负载平衡。cond功能是维护连接和转发信息包。(2)pconndproxyconnd,代理访问服务器,是connd的扩展,除了connd的功能外,还支持webserver等服务器的访问。(3)msgd消息处理服务器的主要功能是用户状态管理、消息转发(包括合理性验证)和离线消息保存。说一个用户登录成功后,通知所有朋友的状态。在我设计的系统中,用户状态简单地被视为类似的文本聊天信息。以下用户U上线流程,他有好友F1,F2。(1)connd收到U在线消息,并将消息发送到U所在的msgd。(2)msgd获取U的好友,F1,F2;如果F1、F2和U不在同一msgd上,msgd将消息通过connd转移到F1和F2所在的msgd上。(3)最终msgd通过connd将在线通知发送到F1和F2。msgdU是如何获得最新朋友的?我想重点描述一下这个问题。用户的好友数据都在另一个子系统中:好友子系统。msgd通过TCP(为什么使用TCP?)主动从好友系统获取。同时,msgd还缓存了好友数据。msgd获取用户好友时,如果cache是最新的,直接从cache取,否则要从好友子系统取。现在关键问题出来了,如何确定用户的朋友是最新的?我们应该根据不同业务的不同特点灵活采用不同的方法。请看一种高效的处理方法:(1)好友子系统为每个用户的好友计算hash值(可使用MD5)。(2)client在获得好友时,也会获得这个hash值;在发送与好友相关的信息时,将hash值带给msgd。(3)msgd第一次从好友子系统获取用户好友时,也会获得这个hash值;比如转发状态信息,获取好友时,将client带来的hash1与自己的hash2进行比较。。。像IM这样的业务特点是写朋友的数据很少,读很多。与阅读的消耗相比,写作基本上可以忽略不计。以上方法,两者的hash值基本相等,直接从cache获取好友数据。这种处理方法也可以引入到其他应用业务中。建议不要每次都粗暴地跨过程获取类似的朋友数据。

以上就是关于实现方法及架构:网站页面即时通讯功能的相关介绍,更多实现方法及架构:网站页面即时通讯功能相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对实现方法及架构:网站页面即时通讯功能有更深的了解和认识。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

服务器是什么(建站该如何选择香港服务器)

伴随着搜索引擎算法规则的不断更新与完善,对SEO的要求日益严格,网站SEO已成为SEO优化网站的重要手段。在众多的站群服务器中,香港站群服务器离国内较近,性能配置良好。通过性快.稳定性好,是国内站长首选的选择。所以对新手站长来…查看详情

穿越重生小说有哪些 十大经典穿越重生小说

很多的书友特别喜欢看穿越的重生小说,而且这些小说都是非常经典的,下面*就给大家推荐一下穿越重生小说有哪些 十大经典穿越重生小说这一块的相关内容,希望能帮助到大家。十大经典穿越重生小说  1、《皇恩》作者:笑佳人  …查看详情

荣耀手机怎么关闭自动更新

  荣耀手机是华为公司旗下的一款智能手机品牌,其操作系统为基于Android系统的EMUI系统。默认情况下,荣耀手机会开启自动更新功能,以保证用户在使用手机时能够获得最新的软件版本和安全补丁。但是,一些用户可能会不喜欢自动更新,…查看详情

置换补贴是什么意思 置换补贴多久可以领取

  置换补贴是指政府为鼓励节能减排和更新换代,针对老旧高耗能设备、车辆等进行淘汰更新,并给予一定的财政补贴。这种政策旨在促进经济可持续发展和环保事业,减少对资源的浪费和对环境的污染。  置换补贴的领取时间会根据不…查看详情

EFI系统分区是干嘛的

请问现在新买的笔记本里EFI系统分区是干什么用的?EFI是可以替代主板bios的东西。EFI在概念上非常类似于一个低阶的操作系统,并且具有操控所有*件资源的能力。EFI驱动程序还可以放置在某个磁盘的EFI专用分区中,只要这些驱动不是用于加载...查看详情

接入internet的方法有哪些

internet的连接方式主要有几种?连接方式主要有三种:拨号接入方式、ISDN方式和DDN方式。1、电话拨号直接进入这种方式主机通过调制解调器和电话线路与ISP(Internet服务商)网络服务器的调制解调器相连,实现主机与Interne...查看详情

微博打不开了怎么回事 微博打不开淘宝链接怎么回事

  微博是中国最大的社交媒体平台之一,淘宝则是中国最大的电商平台之一。这两个平台都是中国互联网的重要组成部分,每天都有数以百万计的用户在上面进行交流和购物。但是,有时候这些平台可能会出现一些问题,例如微博打不开,…查看详情

第25类商标注册适用于服装行业,且要注意相似类的选择

衣食住行是生活的基础,随着物质条件的被满足,人们已逐渐从吃得饱、穿得暖开始追求更好吃、更好看。淘宝每年销量遥遥领先的类目之一,就是服装。各行各业人员也都出于兴趣、利润等投入到服装行业,于是也越来越多的商家涉及到第25…查看详情

密控管理系统哪些比较好?这5款提高企业盈利率的不容错过

选择一个好的密控系统能够在各方面都提高企业的工作效率,提高企业的盈利率,利用比较先进的技术从而对企业进行管理,有那么多的密控管理系统哪些比较好呢,以下是我给大家的推荐。1.密码信息管理app通过网页交流的电脑页面版,大家…查看详情

feof函数是什么

c语言feof函数怎么用?c语言feof函数是用来判断读到了文件的外面,而不是判断文件指针是否到达文件尾部(指向文件最后一个字符的后面)。feof函数在stdio.h中的宏定义:#define_IOEOF0x0010#definefeof(...查看详情

无损音乐播放器 十大无损音乐播放器软件App

  大家在手机和电脑上听歌用的是哪些播放器?QQ酷狗?还是到点就emo(伤感)网易云?或者是其他的网络音乐播放器。不可否认的是网络音乐播放器确实不错,偶尔听上几首放松一下也很惬意,但真正喜欢音乐的朋友们,还是会自己备用一…查看详情

2020开展网店运营需要做哪些准备

随着2019双十一落下帷幕,淘宝、天猫等电商平台创下新的销售记录,越来越多的商家开始加入开网店的行业,竞争也愈演愈烈。有人想通过电商运营的方式来大干一场,却不知道如何做网店运营。今天,让我们一起来看看,开展网店运营工作…查看详情

集团网站建设的注意事项

集团网站是企业最直接和权威的信息发布平台,对于企业来说是不可或缺的存在。现在很多网建公司都是以相同的方法进行网站建设的,但是这种方式并不适用于集团网站建设。所有大型网站在建设前都需要系统的规划,不然很难达到预期的…查看详情

个人怎么报考二建

  二级建造师是在我国工程建设行业中的重要人才之一,其职责是负责工程建筑中的技术指导和工程质量把控。如果你对这个职业充满热情,并打算申请二建考试,下面我将详细描述个人如何报考二建。  一、报名条件  在申请二建考…查看详情

微商城系统开发需要注意的问题

在电子商务体系中,微商城成为新的热门销售地,进而微商城系统开发成为广大企业商家的重要*点。微商城系统开发看起来是个技术活儿,实体企业商家对此毫无经验,只能靠朋友推荐或自己上网搜索寻找微商城系统开发企业。为了让企业商…查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

已为0个客户提供专业互联网服务咨询
  • 手机号码
  • 验证码图形验证码换一张
  • 短信校验码

    电话咨询

    在线咨询