资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
基于基于 SockSock的网络聊天系统开发与设计的网络聊天系统开发与设计 摘摘 要要 近年来随着计算机技术的飞速发展,特别是 Intene技术的发展,已经深 刻的改变到了人们生活的方方面面。这时过去的种种陈旧的通讯方式,都已经不 能满足现代生活的需要。人们希望能够用更低廉的价格,更加方便快捷的方式, 来实现即时通讯。这时开发一套基于 Inerne技术的网络聊天系统变得尤为 重要。 本人以基于 Jaa 语言开发的网络聊天系统为实践基础,详细的介绍了聊 天系统的功能设计和界面逻辑结构。最终实现了一个可以实现私聊、群聊、传 送文件的网络聊天系统。本次设计主要以 Socket 网络通讯作为基础,并以 Objet 作为通讯载体,同时运用了一定的通讯协议知识开发完成。在界面方面,采 用的是 Java 中的 Sing 技术来实现。为了实现多用户的连接,在服务器端将 采用多线程的技术来实现。 关键词关键词:Jaa oket 通讯协议 wig 多线程 Socke-aed web cha system devlopment an dsign bstact ent yers, with the rapid developen ompuer technology, eseall Iteretechlogy, has rfun age tall specs oples lves. Atthistme a th d past, means of communatin, hae been unabet meet teedsof odern lf. Peple atto se moo cost, mconveniand efficien way oachiee ra-ime cmmniaos. Then evelop a netorbaed n ntrnt ehnooy, chat system ecoe parlarlimportant. devoped ava-bsed hat sstm based onpratice, dtaild descriti the chat uion of t syem dein d itefce,logicalstruture.Ultimatey cnachieve a whisper,grpcha, sn lesonliecha system. his gnstl Soke neo comuctas the ais, ad with Objesthe cmmuicato crrier, whle the sfa cerain protocl t complete theknwdge devloment. In t neface, the usefthe Javain th Swin echnloges.To achievelt-econecton, therve will use thetechlto imlmnt multheadg K Kywordsywords:Jav Socke Commnication rotolwin Mltreag 目录目录 一一. .绪论绪论 1.1课题背景4 1. 课题研究内容及意义4 1. 系统相关技术介绍. 131Java语言概述.5 12 TC/协议 1.3.3Sckt编程9 1.3.4 Swng简介11 .3.5 多线程技术介绍.12 二二. .系统需求分析系统需求分析. 2.1 需求分析.15 可行性分析.1 2.3.1社会可行性.6 2.3.2 用户可行性61 2.3技术可行性61 2.4 经济可行性. 23 系统开发环境.17 三三. .系统总体设计系统总体设计8 1 客户端与服务器的通信81 .2 客户端与客户端的通信 .18 3系统的架构模式.19 四四. .系统功能模块设计系统功能模块设计2 4. 服务器端的设计 .0 4.1.1 服务器等待连接线程设计2 .1. 服务器处理客户端信息线程设计2 .2 客户端设计2 421 客户端登录模块设计.27 4. 新用户注册模块设计2 42. 客户端主界面模块设计82 42.4 点对点通信模块设计.29 42 一对多通信模块设计.9 4. 点对点文件传输模块设计.30 五五. . 系统测试系统测试.32 六六. .结束语结束语2 七七. .参考文献参考文献33 一一. .绪论绪论 1.1课题背景课题背景 re是目前世界上最大的计算机互联网络,它遍布全球,并将世 界各地不同规模和大小的网络连接成为一个整体。目前基于 Itee的应 用已经非常多了,例如网上收发邮件、网上购物、网上看电影等等。这些应用无 不在改变人们的生活传统生活方式。 目前人们进行信息交流的方式非常多,例如电报、电话、电子邮件等通讯手 段。但是这些都存在不便利或者费用方面的问题,例如电子邮件,虽然费用不 高,甚至可以免费使用,但是无法实现即时通讯,只能作为一种辅助交流的通讯 手段。这时开发一套网络聊天系统变得尤为重要,通过该系统不但能够实现点对 点的交流,还能够实现多人同时聊天,并且可以相互传递文件资料。最主要的是,它 的费用非常低廉,信息处理速度快,这样人们才能在这个活动的社会中加强联系, 从而创建出更多的财富和价值。 2课题研究内容及意义课题研究内容及意义 目前已有的一些网络聊天系统已经非常多了,例如腾讯的 QQ,网易的泡泡 等等。这些网络聊天系统已经非常成熟了,不过它们都要求用户必须连接互联网 才能够进行通信。目前有很多公司,由于保密公司并不会让员工连入互联网, 所以这些软件都将无法使用。这是就需要开发一款能够在公司局域网中使用的 聊天系统,并实现公司内部员工的通讯和交流。 该系统分为服务器端和客户端两个不同的程序,其中服务器端需要运行在公 司的服务器上,而客户端需要部署到公司员工的机器上。这样员工只需要打开客 户端并登录到服务器,就可以与局域网上的其他员工彼此之间发送信息,并传 送资料了。 本课题主要研究的是基于 Sok的聊天软件,此聊天软件分为服务器 程序和客户端程序,本课题的目标是能实现用户在客户端与服务器端传递信息。 主要研究开发内容是:熟悉系统开发平台,探索在此开发平台下,利用ocke 编程技术、多线程开发技术、TC/IP 协议等进行聊天软件的实际开发。具体 要实现的目标如下:(1)实现用户的注册、登陆、修改信息等功能 (2)实现 点对点的通信,即私聊()实现一对多的通信,即群聊 (4)实现点对点的 文件传输 。 1.3 系统相关技术系统相关技术介绍介绍 1.31 Jva 语言概述语言概述 ava 语言是目前流行的一种网络编程语言,它的面向对象、跨平台和分 布应用等特点给编程人员带来一种崭新的计算概念,使 WW 由最初的单纯提供 静态信息发展到现在的提供各种各样的动态服务。a不仅能够编写嵌入网 页中具有声音和动画功能的小应用程序,而且还能够应用于独立的大中型应用 程序,其强大的网络功能可以把整个 Inrn作为一个统一的运行平台,极 大地拓展了传统单机或 Client/Sevr 模式应用程序的外延和内涵。从 1995 年正式问世以来,Java 逐步从一种单纯的高级编程语言发展为一种重要的 ntrt 开发平台,并进而引发带动了 Ja产业的发展和壮大,成为当 今计算机业界不可忽视的力量和重要的发展潮流与方向。 (1)Java 语言的起源 最早 Jav语言的出现是源于独立开发平言的需要,当时人们希望能 编写出嵌入到各种家用电器等设备的芯片上、且易于维护的程序。它的出现是 为了弥补当时的编程语言,例如 C、+等只能对特定的PU 芯片进行编译的缺 陷。ava 的设计者们就大胆设想让更换芯片的电器还是能够正确运行,无需 重新编译芯片,因此 Sun 公司于 19年成立了由ames Gng 领导的 开发小组,开始致力于开发一种可移植的、跨平台的语言,该语言能生成正确运 行于各种操作系统、各种PU 芯片上的代码。经过他们的精心钻研和努力,便 促成了 J语言的诞生。 ()Java 语言的发展前景 在 205 年的 Java Oe 开发者大会上,aesGslin做了题为 “Ja技术下一个 10 年贡献”的演讲,James Going 认为,va 技术提 高了计算的“流动性” ,就如同货币的发明提高了商品的流动性一样。无所不在 的网络丰富了每个人的信息量,就如同可以兑换的货币产生了财富一样。由于 从前的网络速度是很慢的,所以计算被束缚在特定的计算机上,而这种情况将一 去不复返了。 目前,全球 Java 开发人员已经超过 450 万,因此 Jaa 社区是一个充满活 力和创新精神的团队,这正是aa 更加繁荣的保障。为了保持 Java 的增长 和推进av社区的参与,Sun 在 Java ne 开发者大会上宣布开放 Java 核心 源代码,以鼓励更多的人参与到社团活动中来,这是 Sn 为推进社团发展和维护 Jaa 技术兼容性而迈出的重要一步,同时也是 Jv技术在创新和社会进步 上继续发挥重要作用的标志。 随着 Java 的开源,在未来的十年里,ava 的应用范围将变得更广。数字媒 体将是ava 的下一个目标,同时,Java 将教育和健康作为未来 Ja 发展过 程中的两大重点应用领域。 (3)Jva 的语法 Java 是面向对象的程序设计语言,其基本语法和 C 语言大致相同。从一定 角度上讲,C 语言加上面向对象功能就是 C+。那么 Ja与 C+有什么区别 呢?简要地说,Java 改进了+的一些缺点,并增加了一些新的功能,从而变 得比 C+更加简单、易学,编写出来的程序也更具健壮性。下面就对它们进行一 个简单的比较。 ava 去掉了 C 语言的指针。如指针使用得当,对增强程序的功能有很大 帮助,一旦使用不当,经常会导致死机。 Jav没有了 C 语言中的预处理器。如#ife、dfine、常量声明 等都不使用了,当然也少了#clue 命令,从而也没有头文件(.h 文件)。和 C+相比,a 不支持多继承的概念,目的是为了避免对象和对象之间的关系 复杂化。 Jav增加了垃圾回收机制、异常处理和新的限定词等功能。这些几乎全 部都是基于整个系统和程序本身安全性的考虑。 不论在何种平台上,Java 基本数据类型的大小是不变的。 .3.2 CP/I协议协议 TP/I是 Tranision Cntrl Protool/nterne Prtoc的简写,中文译名为传输控制协议互联网络协议,该协议是 Inernet 最基本的协议,简单地说,就是由底层的 IP 协议和 TP 协议组成的。 /IP 协议的开发工作始于 70 年代,是用于互联网的第一套协议。 (1)TCP/IP 参考模型 CP/P 协议的开发研制人员将 Intret 分为五个层次,以便于理解, 它也称为互联网分层模型或互联网分层参考模型,如下所示: 物理层:对应于网络的基本硬件,这也是 Itrne物理构成,即我们可 以看得见的硬设备,如 PC 机、互连网服务器、网络设备等,必须对这些硬设备 的电气特性作一个规范,使这些设备都能够互相连接幷兼容使用。 网络接口层:它定义了将资料组成正确帧的规程和在网络中传输帧的规程, 帧是指一串资料,它是资料在网络中传输的单位。 互联网层:本层定义了互联网中传输的“信息包”格式,以及从一个用户通 过一个或多个路由器到最终目标的信息包转发机制。 传输层:为两个用户进程之间建立、管理和拆除可靠而又有效的端到端连接。 应用层:它定义了应用程序使用互联网的规程。 (2)网间协议 I Internet上使用的一个关键的底层协议是网际协议,通常称 I协议。我 们利用一个共同遵守的通信协议,从而使nternet 成为一个允许连接不同 类型的计算机和不同操作系统的网络。要使两台计算机彼此之间进行通信,必 须使两台计算机使用同一种语言。通信协议正像两台计算机交换信息所使用 的共同语言,它规定了通信双方在通信中所应共同遵守的约定。 计算机的通信协议精确地定义了计算机在彼此通信过程的所有细节。例如, 每台计算机发
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号