登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 文献综述 > 计算机类 > 软件工程 > 正文

基于Socket的局域网OICQ通信设计与实现文献综述

 2020-04-15 16:57:16  

1.目的及意义
本次论文的主题为基于Socket的局域网OICQ通信设计与实现,目前国内外的即时通讯技术已经非常成熟了,而相关的产品也投入商用很久了,国内的一般以腾讯系的QQ,微信,而国外则是MSN,FaceBook,SnapChat,Skype等,本次论文的主要目的是对局域网通讯进行一个技术实现,以及对比较常见的即时通讯方面的问题给出一定的解决方案。
目前即时通讯方面存在的技术难点有:1. 通讯时如何保证消息通道的可靠性,或者在网络情况不能保证的情况下,如何做到双方知晓当前消息状态以及不丢失消息 2. 在多终端的问题下的同步机制 3. 在以移动端为主的情况下,如何减少流量开销 4.数据库设计等
由于此项技术一般都以投入商用为主,所以在此列举国内外主流的两款即时通讯工具:QQ,MSN的技术现状
QQ作为一款20多岁的老产品,其始终保持竞争力有相当一部分原因是它通讯层面的可靠性以及对产品方向的不断把控,在即时通讯方面,QQ拥有比较成熟的解决方案,首先无论对于TCP/UDP而言,QQ都有一套应对策略,TCP由于存在三次握手四次挥手等机制来保证消息传输的可靠性,所以就不过多赘述,而在传输不可靠但是速度却非常快的UDP传输方面,QQ通过服务器中转方式,采用了上层协议来保证可靠传输:如果客户端使用UDP协议发出消息后,服务器收到该包,需要使用UDP协议发回一个应答包。如此来保证消息可以无遗漏传输。但是也会存在在客户端看到“消息发送失败”但对方又收到了这个消息的情况,就是因为客户端发出的消息服务器已经收到并转发成功,但客户端由于网络原因没有收到服务器的应答包引起的。
和QQ不同,MSN直接就采用TCP协议,所以本身需要解决的问题其实是在于传输时如何减少数据量,对此MSN采用了另外一套序列化协议:MSNP。MSN客户端和服务器之间通信,都是通过发送命令进行的。在MSN中,目前所有的命令都是三个字母的,命令后面可以带有参数,但是参数不是必须的。参数一般包含命令ID和数据,基本格式为:【协议命令】_【命令ID】_【命令数据】。这种协议的好处在于存储的数据量小,且命令解析都在本地进行,减少了服务器的压力,对于服务器而言只需要保存一条指令即可,但缺点也比较明显,可读性非常差。
本次论文的主要意义在于如何整合各个厂商的技术方案,解决一些共同或者单独存在的问题
{title}

2. 研究的基本内容与方案

{title}

设计的基本内容:实现一个可靠的聊天系统,主要有服务端,客户端。

除此之外可能也会根据性能情况,对服务进行拆分等
设计的目标:实现一个可靠的局域网聊天系统
拟采用的技术方案及措施:传输层协议方面基于TCP,实现可靠传输。

在序列化协议方面,采用Protobuf,主要原因在于数据量小,支持的开发语言较多,且足够满足通讯时的需要。

在编程语言方面,选择Java或者C ,主要原因在于Java/C目前体系都比较成熟,对于许多问题有通用的解决方案可供参考。


3. 参考文献
[1]王昌宏,文佳敏,冉贤华,尚民强,杨大敏,鱼福灵.一种基于C 11的多主题消息分发器[J].电脑编程技巧与维护,2019(01):23-27.

[2]王野,张秀洁.关于C 面向对象程序设计的探讨[J].电脑编程技巧与维护,2019(01):41-42 82.

[3]杨小凡.TCP/IP相关协议及其应用[J].通讯世界,2019,26(01):27-28.

[4]范国婷,曹飞虎,王秀友,杨颖.基于Java Web的进销存管理系统设计[J].廊坊师范学院学报(自然科学版),2018,18(04):43-46.

[5]蒋达.基于Socket的网络接口编程[J].办公自动化,2018,23(23):29-30 32.

[6]郑逸凡.Java多线程机制及其在socket编程中的应用[J].赤峰学院学报(自然科学版),2018,34(09):62-63.

[7]王倩,邓媛劼.基于Java Socket的网络聊天系统的设计[J].电脑与信息技术,2018,26(01):47-49.

[8]曲红伟,姚思远.基于QT的企业内部通讯[J].中国新通信,2017,19(18):48.

[9]隋心怡,王瑞刚,梁小江.基于Google Protocol Buffer的即时通讯系统设计[J].电子科技,2017,30(01):119-122.

[10]聂晓旭,于凤芹,钦道理.基于Protobuf的数据传输协议[J].计算机系统应用,2015,24(08):112-116.

[11]徐胜昭. 基于C/S模式的局域网络聊天软件系统的设计与实现[D].电子科技大学,2012.

[12]Liaskos, A. Tsioliaridou and S. Ioannidis, "The Socket Store: An app model for the application-network interaction," 2017 IEEE Symposium on Computers and Communications (ISCC), Heraklion, 2017, pp. 365-370

[13]Pimentel and B. G. Nickerson, "Communicating and Displaying Real-Time Data with WebSocket," in IEEE Internet Computing, vol. 16, no. 4, pp. 45-53, July-Aug. 2012. doi: 10.1109/MIC.2012.64

[14]K.L.Eddie Lawa AND RoyLeungb, "A design and implementation of active network socket programming" Available online 14 February 2003.

[15]Danilo Garbi Zutin, Michael E. Auer, J.F. Bocanegra, E.R. López, A.C.B. Martins, Juan Antonio Ortega, Andreas Pester, "TCP/IP Communication between Server and Client in Multi User Remote Lab Applications" 3 November 2008

[16]Chaojin Lu. Design and Implementation of the Instant Messaging Tool Based on JAVA[J]. International Journal of Advanced Pervasive and Ubiquitous Computing (IJAPUC),2017,9(2).

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图