一个基于UDP协议的P2P即时通讯软件的设计与实现

一个基于UDP协议的P2P即时通讯软件的设计与实现

论文摘要

本文全面介绍了作者独立开发完成的一款基于UDP协议的P2P即时通讯软件的相关理论背景和详细的设计与实现过程。该软件运行在Linux/Unix终端环境下,填补了终端环境中开源即时通讯软件的空白。软件的设计与实现过程具体涉及了即时通讯软件的需求分析、基于UDP的应用层协议的设计、P2P技术的原理和实现方法、信息的加密与解密算法、UDP并发服务器的设计范式、提升软件的用户体验和网络通信软件的测试调试方法等诸多内容。基于UDP协议的应用层通信协议的设计与实现是本软件实现过程中的一个重点问题。UDP协议不可靠的特性使得我们无法直接使用其进行通信,本软件的通信协议中采用了确认与重传机制来保证数据传输的可靠性,采用了动态的超时重传定时器值提高了本协议的适应性和灵活性,还使用了在应用层对数据进行分片的方法来避免IP层分片的低效率。软件实现的另外一个关键问题是客户端之间实现P2P(点到点)通信,P2P通信必须要解决的一个问题是对NAT设备进行穿透。本软件采用了一种称为“UDP打洞”的方法来建立P2P连接,该方法实现简单,穿透能力强,同时符合本软件的既有架构。另外,本软件实现过程中,深入挖掘了终端环境中信息的呈现方式,优化了用户使用流程,在诸多细节上提升了用户体验,提高了本软件的易用性。本软件填补了Linux/Unix终端环境中开源即时通讯软件的空白,提供了一个方便易用的即时通讯工具。该软件运行稳定、用户体验良好、资源占用低、通信效率高。作者希望有更多的开源志愿者能够对其进行不断的完善和改进,使其得到更广泛的应用。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 课题的研究背景
  • 1.2 课题的研究目的和意义
  • 1.3 国内外研究概况
  • 1.4 课题的研究工作和本文的结构
  • 2 需求分析与模块设计
  • 2.1 软件的需求分析
  • 2.2 软件架构与模块设计
  • 2.3 数据库的设计
  • 2.4 本章小结
  • 3 关键功能的实现
  • 3.1 通信协议的设计与实现
  • 3.2 穿透NAT 进行P2P 通信
  • 3.3 本章小结
  • 4 软件实现涉及的其他技术
  • 4.1 信息的加密与解密
  • 4.2 开源数据库MYSQL
  • 4.3 提升用户体验
  • 4.4 网络软件的调试
  • 4.5 本章小结
  • 5 全文总结
  • 致谢
  • 参考文献
  • 相关论文文献

    • [1].大学生对即时通讯软件使用行为的影响因素分析[J]. 通讯世界 2018(01)
    • [2].即时通讯软件在应用型本科院校师生互动中的运用研究[J]. 教育教学论坛 2017(24)
    • [3].人际传播中的“距离”——基于大学生使用手机即时通讯软件的研究[J]. 新闻传播 2013(11)
    • [4].即时通讯软件营销存在的问题与解决对策[J]. 软件导刊 2010(12)
    • [5].影响使用者对即时通讯软件使用意愿之实证研究[J]. 安徽理工大学学报(社会科学版) 2015(01)
    • [6].即时通讯软件中的分众思想[J]. 数位时尚(新视觉艺术) 2010(05)
    • [7].即时通讯软件的协议设计[J]. 办公自动化 2008(22)
    • [8].即时通讯软件在高职英语教辅模式中的运用与研究[J]. 智库时代 2018(24)
    • [9].试析即时通讯软件在大学生教育管理中的功能[J]. 当代教育理论与实践 2015(01)
    • [10].动画表情在即时通讯软件中的传播研究[J]. 现代装饰(理论) 2015(05)
    • [11].即时通讯软件在对外汉语远程教学中的应用[J]. 课程教育研究 2019(06)
    • [12].现代网络即时通讯软件的发展分析[J]. 电子制作 2012(10)
    • [13].高校微信公众平台的现状与发展趋势[J]. 江苏教育宣传 2015(06)
    • [14].实体书[J]. 意林文汇 2015(20)
    • [15].信息时代网络即时通讯软件的发展思路与未来[J]. 科技资讯 2009(17)
    • [16].利用即时通讯软件QQ实现职业中学家校互动实践[J]. 中国教育技术装备 2009(11)
    • [17].即时通讯软件在电子商务中的应用[J]. 科技信息(学术研究) 2008(18)
    • [18].每个人承担自己的命运[J]. 花样盛年 2014(12)
    • [19].即时通讯软件在图书馆工作中的运用[J]. 经贸实践 2016(02)
    • [20].一种基于云服务的即时通讯软件的设计与实现[J]. 软件 2016(08)
    • [21].面向窄带的即时通讯软件设计[J]. 电子元器件与信息技术 2019(03)
    • [22].网络即时通讯软件的设计分析与实现[J]. 通讯世界 2016(07)
    • [23].基于离散载荷特征的即时通讯软件流量分类方法[J]. 网络空间安全 2020(08)
    • [24].微信即时通讯软件辅助教学的探索[J]. 信息与电脑(理论版) 2017(11)
    • [25].基于即时通讯软件的动物疫病远程诊断概述[J]. 中国畜牧兽医文摘 2016(08)
    • [26].即时通讯软件法律问题研究——论QQ号码的法律属性和权属[J]. 网络法律评论 2012(01)
    • [27].基于即时通讯软件的交互信息比较分析[J]. 兰州石化职业技术学院学报 2018(03)
    • [28].室内定位系统中即时通讯软件的设计[J]. 计算机系统应用 2019(08)
    • [29].关于影响即时通讯软件使用行为的市场战略研究[J]. 科技经济市场 2018(07)
    • [30].基于JXTA的P2P即时通讯软件MyJxtaChat[J]. 信息通信 2018(09)

    标签:;  ;  

    一个基于UDP协议的P2P即时通讯软件的设计与实现
    下载Doc文档

    猜你喜欢