基于socket网络聊天系统毕业论文
绪 论    2
选题的背景和意义    2
所做的主要工作    2
第一章 系统所涉及到的技术    3
1.1Java语言概述    3
1.3TCP/IP 协议    5
1.4Swing 简介    7
1.5多线程技术介绍    8
第二章网络聊天系统分析    10
2.1系统功能需求    10
2.2可行性分析    11
2.3.1社会可彳亍性    11
2.3.2用户可行性    11
2.3.3技术可行性    11
2.3.4经济可行性    12
2.3系统开发环境    12
第二童系统设计重以    K
3.1系统数据库设计    13
3.1.1数据库概念设计    13
1.12客户端与服务器的通信    13
3.3客户端与客户端的通信    14
3.4C/S的架构模式    14
3.5系统的功能模块设计    14
第四章.各功能模块设计    15
4.1服务器端的设计    15
4.1.1服务器等待连接线程设计    15
4.1.2服务器处理客户端信息线程设计    16
4.2客户端设计    20
421客户端登录模块设计    20
4.2.1新用户注册模块设计    21
4.2.22.3客户端主界面模块设计    27
4.2.3点对点通信模块设计    22
4.2.4一对多通信模块设计    22
4.2.5点对点文件传输模块设计    23
第五章.系统测试    25
结束语    错误!未定义书签。
自••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••与日.!才、又E    1342 ©
参考文献    26
附录:基于SOCKET网络聊天系统源代码    27
选题的背景和意义
Internet的计算机网络大潮中,人们已渐渐习惯于在网络上购物、聊天、
看电影、交朋友等,人们的生活也是离不开网络。我们每天都在各种各样的网络
应用中满足自己的需求。慢慢的,网络也无时无刻的改变人们的生活。
当前人们进行信息交流的方式非常多,例如电报、电话、等通讯手
段。但是这些都存在不便利或者费用方面的问题,例如,虽然费用不高,
甚至可以免费使用,但是无法实现即时通讯,只能作为一种辅助交流的通讯手段。
这时开发一套网络聊天系统变得尤为重要,通过该系统不但能够实现点对点的交
流,还能够实现多人同时聊天,并且可以相互传递文件资料。最主要的是,它的
费用非常低廉,信息处理速度快,这样人们才能在这个活动的社会中加强联系,
从而创建出更多的财富和价值。
现如今已有很多的网络聊天系统,例如腾讯的QQ、、阿里旺旺等等。
这些网络聊天系统已经非常成熟了,不过它们都要求用户必须连接互联网才能够
进行通信。所以根据用途的不同,我想开发的这一套网络聊天系统是在一个局域
网中实现通信的,这样可以防止网络中的一些窥听,对信息安全性要求高的企业
或是私人工作环境是一个很好的解决方案。
该系统分为server端和客户端两部分组成,server端需要运行在服务器上,
而客户端需要安装在用于通信的PC上,用户只需通过客户端连接至服务器上,
就可以实现在局域网内的即时通信了。
所做的主要工作
本课题主要研究的是基于Socket的聊天软件,对于这个聊天软件的设计是
分为服务器程序和客户端程序,本课题的目标是能实现用户在客户端与服务器端
传递信息。主要研究开发内容是:熟悉系统开发平台,探索在此开发平台下,利
Socket编程技术、多线程开发技术、TCP/IP协议等进行聊天软件的实际开发。
具体要实现的目标如下:(1)实现用户的注册、登陆、修改信息等功能(2)
现点对点的通信,即私聊(3)实现一对多的通信,即聊(4)实现点对点的文
件传输。
第一章系统所涉及到的技术
1.1Java语言概述
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳
(Sun Microsystems)公司的詹姆斯•高斯林(James Gosling)等人于1990年代
初开发。它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来
解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这
些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失
败之时,随着互联网的发展,Sun看到了 Oak在计算机网络上的广阔应用前景,
于是改造了 Oak,1995523日以“Java”的名称正式发布了。Java伴随
着互联网的迅猛发展而发展,成为当今计算机业界不可忽视的力量和重要的发展
潮流与方向。
(1)Java语言的起源
最早Java语言的出现是源于独立开发平台语言的需要,当时人们希望能编
写出嵌入到各种家用电器等设备的芯片上、且易于维护的程序。它的出现是为了
弥补当时的编程语言,例如CC++等只能对特定的CPU芯片进行编译的缺陷。
Java的设计者们就大胆设想让更换芯片的电器还是能够正确运行,无需重新编
译芯片,因此Sun公司于1990年成立了由James Gosling领导的开发小组,开
始致力于开发一种可移植的、跨平台的语言,该语言能生成正确运行于各种操作
系统、各种CPU芯片上的代码。经过他们的精心钻研和努力,便促成了 Java
言的诞生。
(2)Java语言的发展前景
2005年的Java One开发者大会上,James Gosling做了题为“Java技术
下一个10年贡献”的演讲,James Gosling认为,Java技术提高了计算的“流
动性。就如同货币的发明提高了商品的流动性一样。无所不在的网络丰富了每
个人的信息量,就如同可以兑换的货币产生了财富一样。由于从前的网络速度是
很慢的,所以计算被束缚在特定的计算机上,而这种情况将一去不复返了。
目前,全球Java开发人员已经超过450万,因此Java社区是一个充满活力
和创新精神的团队,这正是Java更加繁荣的保障。为了保持Java的增长和推进
Java社区的参与,SunJava One开发者大会上宣布开放Java核心源代码,以
鼓励更多的人参与到社团活动中来,这是Sun为推进社团发展和维护Javasocket编程聊天室基本流程技术
兼容性而迈出的重要一步,同时也是Java技术在创新和社会进步上继续发挥重
要作用的标志。
随着Java的开源,在未来的十年里,Java的应用范围将变得更广。数字媒
体将是Java的下一个目标,同时,Java将教育和健康作为未来Java发展过程
中的两大重点应用领域。
(3)Java的语法
Java是面向对象的程序设计语言,其基本语法和C语言大致相同。从一定
角度上讲,C语言加上面向对象功能就是C++。那么JavaC++有什么区别呢?
简要地说,Java改进了 C++的一些缺点,并增加了一些新的功能,从而变得比
C++更加简单、易学,编写出来的程序也更具健壮性。下面就对它们进行一个简
单的比较。
Java去掉了 C语言的指针。如指针使用得当,对增强程序的功能有很大
帮助,一旦使用不当,经常会导致死机。
Java没有了 C语言中的预处理器。如#迷(1城、#define,常量声明等都不
使用了,当然也少了用nclude命令,从而也没有头文件(.h文件)。和C++相比,
Java不支持多继承的概念,目的是为了避免对象和对象之间的关系复杂化。
Java增加了垃圾回收机制、异常处理和新的限定词等功能。这些几乎全
部都是基于整个系统和程序本身安全性的考虑。
不论在何种平台上,Java基本数据类型的大小是不变的。
1.2Socket 编程
Socket接口是访问Internet使用得最广泛的方法。如果你有一台刚配好
TCP/IP协议的主机,其IP地址是192. 168. 0. 1,此时在另一台主机或同一台主
机上执行ftpl92. 168. 0. 1,显然无法建立连接。因〃 192. 168.0. 1〃这台主机没

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。