基于Linux系统的即时通信系统的设计与实现

2017-09-08 06:53吴开钢
电子技术与软件工程 2017年14期
关键词:客户机服务器端客户端

文/吴开钢

基于Linux系统的即时通信系统的设计与实现

文/吴开钢

即时通信可满足人们对于休闲娱乐以及联络沟通等多方面需求,因此文章基于Linux系统的即时通信系统为主要研究对象,首先对即时通信系统及发展现状进行简要分析,其次对系统设计进行阐述,然后提出实现途径,以供相关人士参考。

即时通信系统 Linux系统 P2P模式

1 引言

当前的嵌入式行业,Linux系统已经作为一个开源的操作系统,其应用范围越来越广泛。因为它的源码公开,更方便开发人员互相学习与交流,还可以在多种硬件平台通行,据统计,其现在已成为全球使用最多的一种UNIX类操作系统。文章对基于Linux系统的即时通信系统设计进行分析与阐述。

2 即时通信系统及发展现状

2.1 内涵

即时通信是一种新型的通信方式和网络通讯技术,是通过互联网或者其他类型的网络建立的一种新型虚拟网络通信环境,因为有计算机键盘和无线设备配合,人们可以及时有效地进行交流与沟通。

2.2 发展现状

互联网技术应用不断深入人们的日常生活工作和学习中,而即时通信系统也在不断变革,经由传统的文字通信逐渐演变为语音视频即时通信。最近的权威调查结果显示,当前世界上已经有二十五亿人拥有一个以上的即时通信应用账户。考虑到当前互联网用户不断增加,其对即时通信系统的使用也将大大拓展市场需求。比如,现在最常见的情景不是传统的名片交换,而是微信好友的添加。

3 基于Linux系统的即时通信系统设计

跟传统的即时通信系统相比,系统无需中央服务器,应用的是可以分布于Internet网内部不同地域的分布式服务器,此类服务器需要保证网段内用户相互连接,为保证信息通讯即时,需要将其与相邻的服务器相连接。该系统服务器架构和现代的电子邮件系统相同,任何一台服务器发生故障都会对服务器控制功能造成影响,降低了服务器的服务质量。

3.1 即时通信系统结构

即时通信系统结构一般分为两种模式:客户机/服务器模式以及P2P模式。文章采用客户机/服务器模式来开发系统。即时通信客户机/服务器模型简称C/S模型。C/S模型是一种非对称的非编程模式,其基本思想就从应用层面可以将功能划分为两个部分,可以在不同的计算机上运行,各种任务都进行了明确的分工,形成一个完整的应用功能。其中需要合理设置即时通信服务器,最主要是能够对通信客户机提出的服务请求进行应答,为用户提供全方位的服务。

表1:协议中的命令

3.2 协议设计

为了使服务器端和客户端各模块之间的多函数通信更加规范,需要建立统一的协议,如表1。文章采用的是以用户数据包(UDP)方式传输登陆、下线、消息、列表、更新和注册等请求,因此需要将报文中含有的信息通过协议的形式上报。

3.3 服务器端状态

服务器端的每个状态之间的关系必须明确,在服务器端模块间不可以存在并发关系,而且在main函数中初始状态必须设置为接收状态,以便接收客户端发送的请求,然后进行解析。在解析出客户端的请求后,将接收状态返回转变为处理状态,在处理请求后将其变为接收状态,最后才等待接收客户端的后续要求。其特别之处在于,服务器端的登陆模块需要处理异步操作。

3.4 客户端状态

客户端的状态分为4个异步模块:需分模块进行更新,有步骤的向客户端发送并更新数据报,而服务器端则需定期接收数据报,如果超出规定时间,服务器将接受不到在线客户端发送的更新报文,并最终将之标记为离线状态;输入—发送模块,该模块的功能是等待客户输入信息,在其输入后,该模块立即将数据报发送出去,接着继续等待客户下一轮信息输入;接收—输出模块,该模块的作用是接收服务器端的数据报,并且在客户端的输出设备上显示有效数据;列表模块,该模块需定期向服务器发送请求列表数据报,通过服务器查询在线数据库中的在线用户端ID,并且打包将其发送至客户端。

4 基于Linux系统的即时通信系统功能的实现

4.1 服务器端

系统需要约束用户的权限,而用户权限主要是由服务器端进行管控。当管理员登录系统后,启动服务器,可以对用户的登录与操作记录进行汇总和筛选。此类数据信息存入后台数据文件中进行存储,一般用户可以通过注册并通过服务器验证后方可发挥出服务器的使用功能。服务器功能主要如下:验证登陆信息、发送系统信息,对新用户的申请信息进行处理与更新。

4.2 客户端

客户端的基本功能如下:用户登陆与注册,需详细记录用户的个人信息,如邮箱等,在注册成功后返回账号,将其作为用户系统的唯一表示,在二次登陆时,账号和密码验证成功后便可登陆;用户间的信息互通,用户好友列表中互加好友就可以完成文字信息以及文件信息的传递;用户信息的查询与修正,在用户聊天时可以对感兴趣的用户资料进行浏览查阅。

4.3 处理错误

即时通信系统依赖互联网和相关应用配置才能进行信息的接收、处理和传输,所以假如在此过程中程序或者网络发生错误或遭到攻击,基本配置出现错误,则极易引发通信系统故障。为了有效解决此类故障,需要采用积极的措施如改良后的通信技术来对通信网络系统进行维护。常见的例子是,因为系统被破坏造成系统不能正常运行,一般的处理手段是,立即与系统管理人员联系,重新启动系统。若系统中的某一业务模块发生故障不能正常运行,则需要对数据库表进行检查,根据数据字典的实际情况恢复相关数据表结构。

5 结束语

综上所述,当前即时通信被看做是电子邮件、WWW、FTP外的第四种通信应用服务,对传统网络的应用造成了很大的冲击。文章对即时通信系统的含义和发展现状进行简要分析,并从系统设计与实施途径入手进行研究,从而促进通信系统的长远发展。

[1]杨化志,许兰,李培峰,等.基于IPQueue的即时通信协议还原系统的设计与实现[J].计算机应用与软件,2012(03):46-51.

[2]翁锦深,叶晓靖,黎德生.基于Linux的RFID交互系统的设计与实现[J].电子设计工程,2012(18):1-4.

作者单位 广东九联科技股份有限公司 广东省惠州市516007

吴开钢(1984-),男,广东省汕尾市人。大学本科学历。现从事linux和android系统工作。

猜你喜欢
客户机服务器端客户端
Linux环境下基于Socket的数据传输软件设计
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
客户端空间数据缓存策略
网页防篡改中分布式文件同步复制系统
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”