摘要:在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。基于Java网络编程的强大功能,本次毕业设计使用Java编写一个聊天系统。
一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式通过Java提供的Socket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能用多线程可完成多点对多点的聊天,数据库管理系统用SQL Server2000完成并通过JDBC-ODBC桥访问数据库。
本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。使用JAVA语言编写,开发工具采用Eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。
聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。
关键字:多线程;客户机/服务器;JAVA;Socket;Eclipse;TCP/IP
目录
摘要
Abstract
1 绪论-1
1.1项目开发背景-1
1.1.1项目背景-1
1.1.2技术背景-1
1.2该系统设计的意义-2
2相关理论及基础技术与开发平台-3
2.1工作原理分析-3
2.2所用技术-4
2.3开发工具及平台-6
2.4 系统配置要求-7
3系统结构的设计-8
3.1需求描述-8
3.2系统架构设计-8
3.3 系统的总体功能设计-9
3.3.1总体功能设计-9
3.3.2注册模块设计-9
3.3.3 登录模块设计-11
3.3.4用户间交互模块设计-12
3.4数据库设计-14
3.4.1数据库物理模型-14
3.4.2数据字典-15
4系统实现-17
4.1网络通讯编码实现-17
4.1.1聊天客户端核心代码-17
4.1.2服务器端监听与转发消息核心代码-18
4.1.3服务端单线程上线处理核心代码-19
4.2 系统运行的效果图-21
4.2.1 登录界面-21
4.2.2 主界面-21
4.2.3 群聊天界面-22
4.2.4 好友聊天界面-23
4.2.5 好友查找界面-23
4.3注册模块的实现-24
4.3.1 数据库连接-24
4.3.2 字符编码过滤器的核心代码-24
4.4 注册模块运行效果图-26
4.4.1 主页面-26
4.4.2 注册页面-27
5 系统测试与运行-28
结论-29
致谢-30
参考文献-31
附录-32