'
目 录
1引言............................................................................................................................1
1.1课题背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.2 国内外现状. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.3本课题研究的迫切性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.4本文的主要工作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
2.需求分析和开发工具................................................................................................1
2.1.需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
2.2开发工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
3.系统总体结构设计....................................................................................................3
3.1基本简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
3.2系统功能模块设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
3.3功能模块介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
4.系统流程与实现.........................................................................................................5
4.1系统设计流程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
4.1.1即时聊天功能的流程设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
4.1.2文件传输功能系统实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
4.2实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
5.测试..........................................................................................................................10
结 论......................................................................................................................13
参考文献......................................................................................................................13
1 / 15'
1引言
1.1 课题背景
网络的发展促进了通信的发中通信的发展反过来让网络发展的更大更快通信作为我们日常生活中不可或缺的东西正在改变着人们的生活。 比如说QQ即时通信软件就为人们的生活和学习带来了极大的方便。但是人们有时需要和与自己同一个局域网内的用户通信而通信的内容不通过公网来保证通信的安全防止黑客或者一些心怀不轨的人通过非法的手段获取到通信的内容。因为一旦信息泄露了就有可能带来不可估量的损失。在这种情况下基于p2p的即时聊天和文件传输的软件就产生了。
1.2 国内外现状
网络的普及也让一些人获得了获取了更多的信息。通过窃听篡改重放等攻击的手机来阻止或者是窃取别人的有用信息这种事在一些大型的公司里曾经就发生过。现在一些大型的公司自己会去开发适合自己公司的即时通信软件来防止此类的安全事件出现 因此基于p2p的即时聊天和文件传输的应用开发现在仍然受到关注。
1.3 本课题研究的迫切性
基于p2p的即时聊天和文件传输软件的实现能够帮助我们了解基于p2p的软件的实现原理和过程为我们以后开发一些大型的p2p的软件提供了技术上的保证。同时该软件能够用于局域网的通信和传输文件具有一定的实际意义。
1.4 本文的主要工作
本文主要介绍了基于p2p的即时聊天和文件传输的软件的实现原理和实现的过程针对软件的原理和过程进行深入的讲解。 同时本文可以作为基于p2p的即时聊天和文件传输的软件的使用说明书通过具体而详细的阐述让大家更容易的理解基于p2p的即时聊天和文件传输的软件的实现原理和实现的过程。
2.需求分析和开发工具
2.1.需求分析
由于国内外的安全现状不容乐观人们通信的时的信息很容易会被黑客们获取为了在局域网中安全简单的痛信人们就开发了基于p2p的即时通信和文件传输软件。该软件能够实现在局域网内和其他人通信从而保证了通信的安全让人们拥有更加安全和简单的痛信环境。 同时 由于该软件是使用java语言开发具有平台无关性。能够在不同的操作系统的平台下完成即时通信和文件传输的功能。
2.2 p2p的即时聊天和文件传输软件的功能p2p的即时聊天和文件传输软件有以下功能
1局域网内点对点通信
能够同一时间和多个人在不同的ip和端口上实现通信
'
2简单文件传输
能够传输1M以上的文件3能够在多个平台下实现通信Java平台无关性
2.2开发工具
开发环境 java
开发工具 Myeclipse
TCP协议的工作流程下图所示
UDP协议的工作流程下图所示
3.系统总体结构设计
3.1基本简介p2p的即时聊天和文件传输软件采用tcp和udp协议使用java语言实现基于p2p的即时聊天和文件传输的功能。 同时 由于采用java语言实现具备了在多种平台下运行的优点。该软件主要包括两大部分聊天部分和文件传输部分。聊天部分采用了udp 协议文件传输部分采用了tcp协议。
3.2系统功能模块设计p2p的即时聊天和文件传输软件实现了以下功能
1即时聊天功能
2文件传输功能
3记录查询聊天内容
'
3.3功能模块介绍
即时聊天功能采用udp协议实现。聊天时用户必须输入通信对方的ip和端口号对方只需要知道消息发送方的端口号就能够收到信息。对方收到信息后同样必须输入ip才能回复消息给对方。通信模型如下图
聊天功能实现模型图
文件传输功能是采用tcp协议实现的 tcp协议的面向连接可靠性面向字节流等优点 以及差错控制流量控制等特点保证了文件传输的可靠性。整个流程是文件发送方首先选择文件在选择文件后先发送文件的名称和大小给接收者。接收这如果同意接收文件则由接收者作为客户端向发送端发起连接连接建立后发送端开始传送文件给接收端。实现模型如下图所示
开始传送文件
4.系统流程与实现
4.1系统设计流程
4.1.1即时聊天功能的流程设计
采用DUP协议设计即时聊天功能在即时聊天功能中设计了一个发送端和一个接收端发送端和接收端处于同一个平台中为了使通信双方能够造一次连接中进行多次通信在接收端采用了多线程实现多次通信。
在通信建立的时候通信的发起方首先填写通信的ip地址和port端口然后发送消息给接收者。接受者需要在同样的端口上等待发起者的信息。
发送端
接收端
'
4.1.2文件传输功能系统实现
使用T CP协议实现文件传输功能在文件传输开始时由发送方给接收方发送一个消息消息内容为待发送文件的文件名和长度。接收端收到后判断是不是传送的文件如果是传送的文件接收方择是否接收文件。然后开始传输文件文件传输完成后 自动关闭服务器端和客户端。
发送端
'
文件传输发送端工作流程接收端
'
A400互联是一家成立于2020年的商家,主要推行洛杉矶服务器采用kvm架构,线路优质,延迟低,稳定性高!全场产品对标腾讯云轻量,服务器线路有有美国洛杉矶cn2_gia、香港cn2+cmi,目前推行的vps服务器均为精心挑选的优质线路机房,A400互联推出了夏季优惠洛杉矶5折、香港7折促销活动,质量可靠,价格实惠!二:优惠码洛杉矶五折优惠码:20210620香港cn2七折优惠码:0710三、优惠方...
pacificrack怎么样?pacificrack商家发布了七月最新优惠VPS云服务器计划方案,推出新款优惠便宜VPS云服务器采用的是国产魔方管理系统,也就是PR-M系列,全系基于KVM虚拟架构,这次支持Windows server 2003、2008R2、2012R2、2016、2019、Windows 7、Windows 10以及Linux等操作系统,最低配置为1核心2G内存1Gbps带宽1...
LightNode是一家位于香港的VPS服务商.提供基于KVM虚拟化技术的VPS.在提供全球常见节点的同时,还具备东南亚地区、中国香港等边缘节点.满足开发者建站,游戏应用,外贸电商等应用场景的需求。新用户注册充值就送,最高可获得20美元的奖励金!成为LightNode的注册用户后,还可以获得属于自己的邀请链接。通过你的邀请链接带来的注册用户,你将直接获得该用户的消费的10%返佣,永久有效!平台目前...