首页 > 范文大全 > 正文

网络即时通信的原理和实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇网络即时通信的原理和实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】:网络即时通信对于军事和民用领域均具有非常重要的作用,故对其研究具有非常重要的意义,本文以下内容将对网络即时通信的原理实现进行分析和探讨,以供参考。

【关键词】:网络;即时通信;原理;实现

中图分类号:F250 文献标识码: A

1、前言

网络即时通信最初与军事上的需求紧密相关,然而随着计算机技术的飞速发展、网络带宽及处理能力的急剧增加,即时系统逐渐在民用领域也得到了广泛的应用,而且即时系统也由单机集中处理的系统发展为分布式即时系统,使得许多分布式即时应用得以实现,所以对其进行研究更具有很现实的意义,本文以下内容将对网络即时通信的原理和实现进行分析和探讨,以供参考。

2、网络即时通信的原理

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

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

P2P模式是非中心结构的对等通信模式,每一个客户(Peer)都是平等的参与 者,承担服务使用者和服务提供者两个角色。客户之间进行直接通信,可充分利用网络带宽,减少网络的拥塞状况,使资源的利用率大大提高。同时由于没有中央节点的集中控制,系统的伸缩性较强,也能避免单点故障,提高系统的容错性

能。但由于P2P网络的分散性、自治性、动态性等特点,造成了某些情况下客户的访问结果是不可预见的。例如,一个请求可能得不到任何应答消息的反馈。当前使用的IM系统大都组合使用了C/S和P2P模式。在登录IM进行身份认证阶段是工作在C/S方式,随后如果客户端之间可以直接通信则使用P2P方式工作,否则以C/S方式通过IM服务器通信。

3、网络即时通信概要设计

3.1,拓扑结构

TCP和UDP是TCP/IP协议的两个主要传输协议,TCP是面向连接的,UDP是面向无连接的,而实际上他们最大的区别在于为应用协议提供不同的服务,TCP协议为应用程序提供点到点的通信。

UDP为应用程序提供多对多的通信,UDP在进行通讯的应用的数量上面,具有更大的灵活性,多个应用可以向一个接收方发送报文,一个发送方向也可以向多个接收方发送报文。UDP还可以使用底层网络的广播和组播设施交付报文。

由于TCP和UDP得语义不同,如果要考虑应用协议所要求的语义,设计者就不能不再面向连接和无连接的传输协议间作出选择,利用面向连接的TCP协议,可以大大简化应用协议的设计工作。由于UDP不提供可靠的交付,无连接传输要求应用协议提供可靠性,并在必要时,使用一种称为自适应重传的复杂技术。

3.2,功能设计

用户注册模块:用户需要正确填写自己的用户名、密码、真实姓名、性别、个性签名等信息,如果用户名合法且未被占用,则可以注册成功。

用户登录模块:用户需要正确填写自己的用户名、密码,如果验证成功,则可以进入到JQQ即时通讯系统主面板,与在线好友进行即时通信。

分组管理模块:包括对分组的添加与删除,添加分组过程中,分组不能为空并且不能有重复的分组,删除分组过程中,只要选定要删除的分组,即可删除成功。

好友管理模块:包括好友的添加与删除,添加好友过程中,好友不能为空,不能加自己为好友,要添加的好友必须存在并且不能有重复的好友。删除好友的过程中,只要选定所属分组下的相应好友,即可删除成功。

查询用户模块:列出了除了自己的所有用户的基本相信包括是否在线,用户可以根据需要加为好友并进行通讯,对于在线状态的好友可以进行在线交流。

即时通信模块:其是本系统最关键的环节与目的所在,用户可以选择分组中的在线好友进行即时通信,并且当交流完毕时自动保存聊天记录。

聊天记录模块:主要记录了与相应好友的所有聊天记录,可以方便的浏览一些重要信息和谈论话题等。

3.3,即时通信系统关系型数据库的实现

Microsoft SQL Server 2008是一个高性能的客户端/服务器结构的关系数据库管理系统,SQL Server是为支持高容量的事务处理以及数据仓库和决策支持系统而设计的,它运行在Microsoft Windows NT4或Microsoft Windows 2000 Server上,基于使用Intel处理器的网络,也能够为其他的Microsoft操作系统提供很多客户端工具和网络接口。由于SQL Server的开放结构,其他系统也能和它交互操作。使用它可以完成事务处理、存储和分析数据以及创建新的应用程序。

4、结尾

本文以上内容对网络即时通信的原理和实现进行了分析和探讨,表达了观点和见解,本人相信,随着计算机技术的发展,网络即时通信必将以更加先进的形式出现,而作为软件从业人员,也只有不断学习和实践,才能为软件工程发展做出更大的贡献。

【参考文献】

[1]《面向对象的JAVA网络编程》冯博等,清华大学出版社

[2] 《面向对象技术UML教程》王少峰等,清华大学出版社

[3] 《软件工程》李代平等,清华大学出版社