即时通信的技术原理

  即时通信的技术原理

  即时通信是一种基于Internet 的通信技术, 涉及到IP/TCP/UDP/Sockets、P2P、C/S、多媒体音视频编解码/传送、Web Service等多种技术手段。无论即时通信系统的功能如何复杂,它们大都基于相同的技术原理,主要包括客户/服务器(C/S)通信模式和对等通信(P2P)模式。

  C/S结构以数据库服务为核心将连接在网络中的多个计算机形成一个有机的整体,客户机(Client)和服务器(Server)分别完成不同的功能。但在客户/服务器结构中,多个客户机并行操作,存在更新丢失和多用户控制问题。因此,在设计时要充分考虑信息处理的复杂程度来选择合适的结构。实际应用中,可以采用三层C/S结构,三层C/S结构与中间件模型非常相似,由基于工作站的客户层、基于服务器的中间层和基于主机的数据层组成。在三层结构中,客户不产生数据库查询命令,它访问服务器上的中间层,由中间层产生数据库查询命令。三层C/S结构便于工作部署,客户层主要处理交互界面,中间层表达事务逻辑,数据层负责管理数据源和可选的源数据转换。

Image:即时通信(技术原理).jpg

  P2P模式是非中心结构的对等通信模式,每一个客户(Peer)都是平等的参与者,承担服务使用者和服务提供者两个角色。客户之间进行直接通信,可充分利用网络带宽,减少网络的拥塞状况,使资源的利用率大大提高。同时由于没有中央节点的集中控制,系统的伸缩性较强,也能避免单点故障,提高系统的容错性能。但由于P2P网络的分散性、自治性、动态性等特点,造成了某些情况下客户的访问结果是不可预见的。例如,一个请求可能得不到任何应答消息的反馈。

  当前使用的IM系统大都组合使用了C/S和P2P模式。在登录IM进行身份认证阶段是工作在C/S方式, 随后如果客户端之间可以直接通信则使用P2P方式工作, 否则以C/S方式通过IM服务器通信。举例来说,在图1中,用户A希望和用户B通信,必须先与IM服务器建立连接,从IM服务器获取到用户B的IP地址和端口号,然后A向B发送通信信息。B收到A发送的信息后,可以按照A的IP和端口直接与其建立TCP连接,与A进行通信。此后的通信过程中,A与B之间的通信则不再依赖IM服务器,而采用一种对等通信(P2P)方式。由此可见,即使通信系统结合了C/S模式与P2P模式,也就是首先客户端与服务器之间采用C/S模式进行通信,包括注册、登录、获取通信成员列表等,随后,客户端之间可以采用P2P通信模式交互信息。




卖贝商城更多商品介绍:手机/微信冬装经典女装商城网站建设     BTV体育天天体育广告刊例报价    宝宝部落软文价格