首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络协议 >

基于JAVA+SQL的网络通信系统设计与兑现毕业设计

2013-01-01 
基于JAVA+SQL的网络通信系统设计与实现毕业设计毕业设计-基于JAVA+SQL的网络通信系统设计与实现,共51页,20

基于JAVA+SQL的网络通信系统设计与实现毕业设计
毕业设计-基于JAVA+SQL的网络通信系统设计与实现,共51页,20463字,附源程序、开题报告
摘 要:网络通信在当今信息社会中起着不可或缺的作用 ,人们可以利用网络通信技术进行即时的信息交流。例如,人们可以通过Internet搜索所要的信息,通过网上通信工具聊天,交流信息,上网购物等等。
本课题是应用了计算机网络通信技术和JAVA网络编程的基础知识,以JAVA为平台,利用Eclipse开发工具,并使用SQL Server 2000管理数据库数据开发出的基于Socket的网络即时通信系统。系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器、应用程序服务器端、应用程序客户端,按照此设计思想,系统采用C/S结构,可以将任务合理分配到客户机端和服务器端 ,从而降低了系统的通信开销。此系统共分为两个模块:客户端模块和服务器端模块。从操作简便、界面美观、灵活实用的用户要求出发,设计开发的网络通信系统可以实现用户注册,用户登录,消息通信和好友管理等主要功能。
本说明书主要介绍了本课题的研究意义以及开发背景、开发过程,和所完成的功能,并着重说明了开发设计的思想、技术难点和解决方案。
关键词:网络通信 JAVA平台 C/S Socket

目 录
1 引言 1
1.1 课题的研究现状 1
1.2 课题简介以及设计要求 2
1.2.1课题简介 2
1.2.2课题设计要求 2
1.3 课题的调研 2
1.4 可行性分析 2
1.4.1 可行性分析的目的 2
1.4.2 技术可行性分析 3
1.4.3 经济可行性分析 3
1.4.4 操作可行性分析 3
1.4.5 法律可行性分析 4
1.5 论文各章简介 4
2 系统需求分析 5
2.1 业务流分析 5
2.2概念结构设计 5
2.3 数据流分析 5
2.4 数据字典 6
2.4.1数据字典 6
2.4.2处理逻辑说明 7
3 系统总体设计 9
3.1 系统开发的原则 9
3.1.1 面向用户的观点 9
3.1.2 严格按阶段进行 9
3.1.3 采用系统的观点处理 9
3.1.4采用模块化设计方法 9
3.1.5 整个系统的设计主要采用快速原形法 9
3.2系统总体功能结构设计 10
3.2.1 系统代码设计说明 10
3.2.2 系统设计技术说明 10
3.2.3 系统总体功能结构 12
3.3 系统数据库设计 13
3.4开发环境设计与运行环境设计 14
3.4.1 开发环境设计 14
3.4.2 运行环境设计 15
4 服务器模块设计 15
4.1 主服务器类设计 15
4.2 多线程ServerThread类的设计 16
4.3 用户注册模块 17
4.4 登录验证模块设计 17
4.4.1登录线程设计 17
4.4.2 通知好友上线模块 18
4.5 好友管理模块 20
4.5.1 查找好友模块 20
4.5.2 查看好友资料模块 20
4.5.3 直接添加好友模块 20
4.5.4 添加好友模块 20
4.5.5 添加好友应答模块 21
4.5.6 删除好友模块 21
4.6 退出下线模块 22
5 客户端模块设计 23
5.1新用户注册模块 23
5.1.1 注册流程 23
5.1.2 注册事件监听流程 23
5.2 用户登录模块 24
5.2.1 监听登录事件 26
5.2.2 界面设计 27
5.2.3 设计过程中遇到的问题 28
5.3 消息通信模块 29
5.3.1 发送消息 30
5.3.2 监听用户操作消息 32
5.3.3 接收消息 35
5.3.4 发送文件和接收文件模块 36
5.4 好友管理模块 37
5.4.1 查找好友 37
5.4.2 添加好友 38
5.4.3 查看资料 39
5.4.4 删除好友 39
6用户手册 40
6.1 系统的运行环境 40
6.1.1 硬件要求 40
6.1.2 软件环境 40
6.2 系统的功能简介 40
6.3 系统的运行和操作指南 40
7 系统特色与不足 42
7.1 系统特色 42
7.2 系统不足 42
7.3 设计收获和心得 42
结 论 44
致 谢 45
参 考 文 献 46

2.本课题的基本内容,可能遇到的困难,提出解决问题的方法和措施
(1) 根据系统的要求,画出初步的数据流图如下:
系统的数据库设计如下:
数据库表主要用来存放用户的注册信息和用户的好友资料,可利用两张数据库表来存放用户信息和用户好友的资料。表一icq表存放用户信息,包括用户的号码,昵称,密码,在线与否,ip地址,资料,头像号,性别,E-mail和籍贯等信息。其中,用户昵称和密码是必需的字段;号码和在线与否是由系统自动设置的;其余的信息是可选的字段。
表1:用户的基本信息表(icq)
序号 字段名 含义 数据类型 NULL
1 icqno 用户的号码 int NO
2 nickname 用户的昵称 char NO
3 password 用户的密码 char NO
4 status 用户的状态 bit NO
5 ip 用户的ip地址 char YES
6 info 用户的资料 varchar YES
7 pic 用户的头像号 int YES
8 sex 用户的性别 char YES
9 email 用户的E-mail char YES
10 place 用户的籍贯 char YES
(注: icqno为自动增加的字段。)
表2:用户的好友表(表名 friend)
序号 字段名 含义 数据类型 NULL
1 icqno 用户的号码 int NO
2 friend 好友的号码 int NO
(2) 由客户端程序界面可知,本网络通信系统包含以下主要功能:
用户注册;资料修改;
用户登录;上线通知;
查找好友;查看好友资料;添加好友;
直接添加好友;添加好友应答;
好友列表;更新好友列表;
查看聊天记录;删除好友;
发送消息;接收消息;陌生人信息;
根据系统的要求,作出初步的功能模块图:(见下页)
功能模块图:
(3) 在设计中可能遇到的的问题:
1. 客户端和服务器端必须保持随时随地的连接。在系统中,客户端发出聊天信息的同时,客户端也在接受服务器发送过来的其他人的聊天信息,因此要求请求和响应不存在前后的关系,而是两个独立进行的进程。因为服务器任何时候都可能发送消息到客户端,因此,客户端和服务器一旦建立连接,必须能让服务器在以后发送中寻找定位到这个连接。
2. 在速度性能方面 ,网络通信系统提出了更高的要求。在网络连接的薄弱环节I/O
通信方面,要求能够实现无堵塞的,顺畅的数据读写。在面对几百个甚至更多的用户客户端同时发出连接信息的情况下,服务器要求能够保持高性能的并发处理机制,迅速的完成并发请求的处理和发送任务。
3. 在扩展性和伸缩性方面,网络通信系统也提出了一定的要求。
(4) 基于以上的难点和问题,解决的方法:
1. 系统采用3层的C/S结构,数据库服务器---->应用程序服务器端---->应用程序客户端,将任务合理的分配到客户机端和服务器端,从而降低了系统的通信开销。基于Socket的编程是本课题设计的基础,以该模式编程时,服务器端有一个进程或多个进程在指定的端口等待客户来连接,一旦连接成功,便按照设计的数据交换方法和格式进行数据传输。
2. 建立连接时为了保持服务器与客户端连续性,可靠性和稳定性使用TCP/IP协议 在两个用户聊天期间,由于一般对数据的可靠性要求不高,所以使用UDP协议.
3. 事件处理机制主要依靠JAVA多线程来实现。
3.本课题拟采用的研究手段(途径)和可行性分析
本课题整体采用JAVA平台开发,并使用SQL Server 2000管理数据库数据。是基于Socket的集中式网络即时通信系统,系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器---->应用程序服务器端---->应用程序客户端,其分层结构如图1所示。系统采用C/S结构,可以将任务合理分配到客户机端和服务器端 ,从而降低了系统的通信开销。
JDBC-ODBC
1. 客户层 (应用表示层)
客户层是应用程序的用户接口部分,它担负着用户与应用间的对话功能,用于检查用户的输入数据,显示应用的输出数据,为了直观的进行操作,客户层需要使用图形用户接口,若聊天用户变更,系统只需改写显示控制和数据检查程序即可,而不会影响其他两层。
2.服务层(功能层)
服务层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。在应用设计中,必须避免在表示层和功能层之间进行多次的数据交换,这就需要尽可能进行一次性的业务处理达到优化整体设计的目的。
3.数据层
数据层就是DBMS,本系统使用了Microsoft公司的SQL Ssever2000数据库服务器来管理数据。SQL Ssever2000能迅速的执行大量数据的更新和检索,因此,从功能层传送到数据层的要求一般都使用SQL语言。
本文摘自:http://www.xuehai.net/docs/204288.html

热点排行