'
目 录
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协议实现文件传输功能在文件传输开始时由发送方给接收方发送一个消息消息内容为待发送文件的文件名和长度。接收端收到后判断是不是传送的文件如果是传送的文件接收方择是否接收文件。然后开始传输文件文件传输完成后 自动关闭服务器端和客户端。
发送端
'
文件传输发送端工作流程接收端
'
使用此源码可以生成QQ自动跳转到浏览器的短链接,无视QQ报毒,任意网址均可生成。新版特色:全新界面,网站背景图采用Bing随机壁纸支持生成多种短链接兼容电脑和手机页面生成网址记录功能,域名黑名单功能网站后台可管理数据安装说明:由于此版本增加了记录和黑名单功能,所以用到了数据库。安装方法为修改config.php里面的数据库信息,导入install.sql到数据库。...
41云怎么样?41云是国人主机品牌,目前经营产品有国内外云服务器、CDN(高防CDN)和物理机,其中国内外云服务器又细分小类有香港限流量VPS、香港大带宽VPS、香港弹性自选VPS、香港不限流VPS、香港BGP线路VPS、香港Cera+大带宽机器、美国超防VPS、韩国原生VPS、仁川原生VPS、日本CN2 VPS、枣庄高防VPS和金华高防VPS;物理机有美国Cera服务器、香港单程CN2服务器、香...
恒创科技也有暑期的活动,其中香港服务器也有一定折扣,当然是针对新用户的,如果我们还没有注册过或者可以有办法注册到新用户的,可以买他们家的香港服务器活动价格,2M带宽香港云服务器317元。对于一般用途还是够用的。 活动链接:恒创暑期活动爆款活动均是针对新用户的。1、云服务器仅限首次购买恒创科技产品的新用户。1 核 1G 实例规格,单个账户限购 1台;其他活动机型,单个账户限购 3 台(必须在一个订单...