毕业设计论文关于基于TCP_UDP协议的通信工具的设计与实现Word格式.docx
《毕业设计论文关于基于TCP_UDP协议的通信工具的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《毕业设计论文关于基于TCP_UDP协议的通信工具的设计与实现Word格式.docx(49页珍藏版)》请在冰点文库上搜索。
本系统基于JAVA,使用Eclipse等作为开发工具完成即时通信系统的设计。
局域网 即时通信 文件传输 TCP协议 UDP协议
...............................................................................................1
1.1研究背景及研究意义................................................................................... 1
1.2即时通信的基本知识................................................................................... 2
1.3TCP与UDP的相关知识................................................................................. 2
..................................................................5
2.1系统开发环境............................................................................................... 5
2.2系统开发所用工具....................................................................................... 5
2.2.1Eclipse的简介及运用.......................................................................... 5
2.2.2Java的简介及运用.............................................................................. 6
2.3SOCKET的简介................................................................................................ 7
2.4C/S结构与WINDOWSSOCKETS网络编程................................................... 8
........................................................11
3.1即时通信工具需求分析.............................................................................. 11
3.2性能分析................................................................................................... 11
3.3系统设计的目标........................................................................................ 12
3.4系统功能模块设计..................................................................................... 12
3.5总体设计....................................................................................................... 13
3.5.1服务器端基本功能设计..................................................................... 13
3.5.2客户端基本功能设计........................................................................ 14
.................................................................................16
4.1数据库的基本概念..................................................................................... 16
4.2概念结构设计............................................................................................ 16
4.3逻辑结构设计............................................................................................ 19
4.4物理结构设计............................................................................................ 19
4.5数据库运行与实现...................................................................................... 20
................................................................21
5.1用户管理................................................................................................... 21
5.1.1新建用户模块................................................................................... 21
5.1.2登录模块.......................................................................................... 21
5.1.3删除好友模块................................................................................... 22
5.2用户登录获取信息模块.............................................................................. 22
5.3查找用户模块............................................................................................ 22
5.4添加好友模块............................................................................................ 23
5.5建群模块....................................................................................................... 23
5.6即时聊天模块............................................................................................ 24
5.6.1文件传输模块................................................................................... 24
5.6.2语音聊天模块................................................................................... 24
5.7服务器端的具体实现................................................................................. 25
5.8客户器端的具体实现................................................................................. 26
5.8.1新建用户.......................................................................................... 27
5.8.2登录界面............................................................................................. 28
5.8.3即时聊天界面................................................................................... 29
5.8.4文件传输界面................................................................................... 30
5.8.5用户登录后获取好友信息视图........................................................ 34
5.8.6查找好友视图................................................................................... 34
5.8.7添加好友视图................................................................................... 35
5.8.8建群视图............................................................................................. 35
.....................................................................................................37
.....................................................................................................38
.....................................................................................................39
基于TCP/UDP协议的局域网的即时通信工具的设计与实现
在网络飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各方面发挥着重要的作用。
互联网上存在大量的信息,人与人之间的沟通、信息交换显得尤为重要。
人们一直在寻找一种方便、低廉的交流信息工具,因此网上聊天便成为人们的首先,而一个好的的即时通信工具是操作简单、方便,界面美观大方、人性化、节约系统资源。
一个好的即时通信工具不仅仅是方便了人们的生活,同时也给企业带来了商业利益,很多事情都可以通过进行聊天而解决、通过服务器的消息传输让用户能够很快的获取信息,节约了时间也创造了更多的利益。
随着社会经济技术的发展,即时通信在全球的应用越来越广泛,从以前最开始的简单通信到现在视频聊天、查资料、看电视等功能的应用,即时通信已经成为人
们生活当中必不可少的一部分,即时通信不仅仅应用到生活当中,影响着人们的一切,而且现在也应用到各个领域影响着整个世界。
随着网络技术的发展,即时通信正在成为在线活动中不可或缺的业务,即时通信软件不仅仅只限于用户间的聊天活动,运营商已经开始利用即时通信平台不断地进行业务的扩张和整合,充分的运用到整个
企业,整个社会当中,而即时通信软件的诞生也给企业的管理带来了新的思路和手段,推动了企业工作效率的提高,降低了办公费用,引起了工程应用领域的研究热潮。
即时通信的实时交互、低廉资费、方便快捷让其成为继电话、邮件等通讯工具之后的又一个充分融入现代企业沟通的互联网工具。
但是任何事务在发展的同时也必然会带来各方面的问题,比如最常见的安全问题,即时通信的优点就是能够实时交互,马上能够知道对方的一切,然而这样也很容易照成安全隐患问题,一旦没有做好加密、防火墙工作,数据、资料等就很很容易遭到泄露,被恶意篡改、窃听,从而导致对方收到的信息是错误的,这样也会给工作、生活等方面带来困难。
所以当前,研究网络即时通信系统是当今网络编程方面的一个热门课题。
即时通信正成为在线活动中不可或缺的业务。
小至个人、企业大至国家、世界,演化着即时通信的飞速变化,日益改变丰富着人们的生活。
而在经济技术日益发展
1
的情况下,对即时通信的需求也越来越迫切,所以在此前提下,就急需一种两全其美的解决方案。
随着信息技术的发展,即时通信(IM)软件应运而生,即时通信工具让我们冲破了地域的界限,随时随地和各地的朋友沟通联系,它们已经成为新时代人们生活和工作中不可缺少的伙伴!
即时通信(IM)是指能够即时发送和接收互联网消息等的业务。
1998年即时通信的功能日益丰富,逐渐集成了电子邮件、博客、音乐、
电视、游戏和搜索等多种功能。
即时通信不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。
随着移动互联网的发展,互联网即时通信也在向移动化扩张。
目前,微软、AOL、Yahoo等重要即时通信提供商都提供通过手机接入互联网即时通信的业务,用户可以通过手机与其他已经安装了相应客户端软件的手机或电脑收发消息。
即时通信是一个基于局域网平台而设计的系统,其开发主要包括后台数据库 的建立、维护以及前端应用程序的开发两个方面。
前者要求建立起数据一致性、完整性、安全性高的库,后者则要求应用程序功能完备,能够题供前台顺利运行,易使用等特点。
即时通信具有:
管理员设臵客户端的单位组织结构信息;
客户端 不需自行添加联系人;
联系人之间能够发送消息;
联系人之间能够互相传送文件;
管理员能够建立现了人分组,加入分组后的联系人允许互相通信;
分组成员之间可以群发消息等功能。
Java网络编程中有两种不同的通讯协议,分别是 TCP(面向连接)与UDP(面向无连接),两种协议各有优缺点。
TCP:
是TranferControlProtocol的简称,是一种面向连接的保证可靠传输的协议。
通过TCP协议传输,得到的是一个顺序的无差错的数据流。
发送方和接收方的成
对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是serversocket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,
双方都可以进行发送或接收操作。
TCP/IP协议并不完全符合OSI的七层参考模型,而是采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
这 4层分别为:
应用层:
应用程序间沟通的层,如简单电子邮件传输(SMIP)、文件传输协议
(FTP)、网络远程访问协议(Telnet)等。
传输层:
在此层中,它提供了节点间的数据传输服务,如传输控制协议(TCP)、
用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
互连网络层:
负责提供基本的数据封包传送功能,让每一块数据封包都能到够达目的主机(但不检查是否被正确接收),如网际协议(IP)。
网络结构层:
对实际的网络媒体的管理,定义如何使用实际网络来传送数据。
建立TCP连接的工作原理:
一个TCP连接必须要经过三次“对话”才能建立起来,简单的介绍一下:
主机A向主机B发出连接请求数据包:
“我想给你发数据,可以吗?
”,这是
第一次对话;
主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:
“可以,你什么时候发?
”这是第二次对话;
主机A再发出一个数据包确认主机B的要求同步:
“我现在就发,你接着吧!
”,这是第三次对话。
三次“对话”的目的是使数据包的发送和接收同步,经过三次
“对话”之后,主机A才向主机B正式发送数据。
UDP:
是UserDatagramProtocol 的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。
举例:
一个UDP的简单应用。
我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实
“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。
其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。
通过面向连接、端到端和可靠的数据包发送。
通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;
而
UDP则不为IP提供可靠性、流控或差错恢复功能。
一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。
TCP支持的应用协议主要有:
Telnet、FTP、SMTP等;
UDP支持的应用层协议主要有:
NFS(网络文件系统)、SNMP(简单网络管理
3
第二章相关工具及技术介绍
协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。
以下是TCP面向连接框架1.1
Socket(port)
Accept()
等待客户连接请求
Socket()
阻塞
Read()
建立连接
Write()
处理服务请求
服务请求服务响应
Read()
Close()
图1.1TCP面向连接框架
Datagramsocket(port)
客户端
Datagrampacket()
Datagramsocket()
Receive()
Send()
等待客户连接请求服务请求
Send() 处理服务请求服务应答
Receive()
Close()
以下是UDP非连接面向框架图1.2服务器端
图1.2UDP非面向连接框架
由于日趋发展的信息技术,对通信工具的要求也逐渐提高,而快速的成长当中带来的影响也是深远的,那么如何在这样的环境下设计一个安全系数高、方便快捷的通信工具呢,这就是本系统所要解决的问题。
实现局域网用户之间的即时交流与文件传输,建立网络即时通信安全机制,保证信息传送的及时性和安全性。
本系统采用基于java平台的Eclipse工具来设计并实现这一通信工具的设计与实现。
系统开发平台:
Eclipse7.0
SQLServer2005
系统开发语言:
Java运行平台:
WindowsXP运行环境:
JDK1.6
2.2.1Eclipse的简介及运用
Eclipse是一种基于Java的可扩展开源开发平台。
就其自身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是, Eclipse附带了一个标准的插件集,包括为人熟知的 Java开发工具(JavaDevelo