失效链接处理 |
Java即时通讯系统 PDF 下载
本站整理下载:
相关截图:
主要内容:
1.1课题技术支持
运用面向对象思想,通过较完善的挖掘,构建稳定的底层通讯框架。 目标:“真实建模”“最大可重用”“对变化有弹性” 手段:抽象封装 /多态/继承 准则:开闭原则 /单一职责原则 /对接口编程 /里氏代换法则等 工具:各种设计模式(单例 /工厂/策略/代理/门面/适配器等。
1.2系统分析
应用构建通常分层实现表示层、业务层、持久层,结合该课题,业务层分析:课题核心是通讯,考虑到通讯是很多其他应用实现的核心部分,建议搭建健壮并独立的通讯平台,以适应未来系统扩展和移植,目前的短消息传递可以作为该平台的基本扩展,以组件的形态插入到平台上满足需求。
数据访问建议采用数据访问对象,封装对持久层的访问细节。
目前采用文件持久层,定制合理的文件格式,提高效能。并对持久层的未来扩展,比如改为数据库存储做好铺垫。表示层应脱离业务模型层, 独立出来,表示层调整不应振动到业务层。表示层一般考虑用户体验问题, UI 简单易用并美观大方,才是最理想的软件。
1.3需求分析
聊天工具大多数由客户端程序和服务器程序外加服务端,本程序采用客户机 /服务器架构模式。通过 Java 提供的 Socket 类来连接客户机和服务器并客户机和服务器相互通行,由于聊天是多点对多点的聊天。主要有两个应用程序,分别为客户程序和服务器程序。服务器应用程序主要用于程序转发,以及上所有用户发送系统信息;客户端程序主要用于客户端聊天记录的显示和信息输入, 采用 Client/Server 体系结构, 即客户端 /服务器结构。聊天服务器专门用于监控用户状态和转发信息,客户端负责接收消息用户序列和消息文本发送到服务器。该聊天系统实现群聊用户登录,退出聊天系统等功能。
1.4 相关理论知识
本课题涉及到了网络数据传输,需要了解相关的数据网络传输知识,网络数据的传输是本课题不可绕过的技术,所以了解相关网络数据传输的知识是相当重要的。
1.4.1 网络通信与网络协议基础
Java 语言可称得上是当今 Internet 上最流行的编程语言。对一个网络功能,其他语言需要数行或数页代码, 而 Java 也许只需要一条或几条语句。下面介绍 Java 网络编程涉及的计算机网络的术语、概念。
计算机网络是计算机技术与通信技术相结合而形成的一种新的通信形式。计算机网络由硬件和软件组成,软件包括网络操作系统、通信软件和网络通信用的通信协议。
Internet 允许各个部门和组织根据自己的需求和经济能力选择自己的网络,然后再寻求一种方法将所有类型的网络互连起来。
Internet 网络体系结构也称为 Internet 网络通信协议,它分为四个层次, TCP/IP 协议(Transmission Control Protocol/Internet Protocol,传输控制协议 /网际协议)是它不同层次协议的总称。
1.4.2 TCP/IP 协议族
TCP/IP 协议族中的传输层和互联网层协议为网络中的各主机提供通信服务,它们也是实现应用层协议的基础。传输层 TCP 协议和互联网层 IP协议是 TCP/IP 协议族中的核心协议。
1. 传输控制协议 TCP
传输控制协议( TCP)TCP/IP 协议族中的传输层,提供可靠的数据传输服务。 TCP 是一种面向连接的传输层协议,意味着该协议准备发送数据时,通信之间必须建立起一个逻辑上的连接。 TCP 协议位于 IP 协议的上层,通过提供效验、流控制及序列信息弥补 IP 协议可靠性的缺陷。
2. 互联网层协议 IP
互联网层协议( IP)属于 TCP/IP 模型的互联网层。提供关于数据应如何传输以及传输到何处的信息。 IP 是一种是 TCP/IP 可用于网络连接的协议,即 TCP/IP 可跨域多个局域网段或通过路由器跨域多种类型的网络。
在一个网际环境中,被连接在一起的单个网络被称为子网。
数据帧的 IP 部分被称为一个 IP 数据包, IP 数据包如同数据的封面,包含了路由器在子网中传输数据所在必须的信息。
IP 数据包包括头和数据,总长度不能超过 65535 字节。
IP 协议是一种不可靠的、无连接的协议。然而, TCP/IP 协议族中更高层协议可使用 IP 信息确保数据包按正确的地址进行传输。 IP 数据包并不包含一个校验和部件, 包头校验仅仅验证 IP 包头中路由信息的完整性。 如果当数据包被接收时伴随信息的校验和值不正确,则数据包将被认为已破坏并被抛弃,同时,一个新的数据包被发送。
3. 用户数据包协议 UDP
用户数据包协议 UDP(User Datagram Protocol ),位于 TCP/IP 模型的传输层。不同于 TCP 的是,它是一种无连接的传输服务,它不保证数据包以正确的顺序接收。
1.4.3 面向对象的开发过程
面向对象的软件开发和相应的面向对象的问题求解是当今计算机技术发展的重要成果和趋势之一,面向对象编程具备了几个优点,比如:代码维护方便、可扩展性好、支持代码重用技术等等。这些优点是面向过程编程语言所不具备的。下面我们就来谈谈面向对象技术的这些优点:
1. 模块化
模块化是面向对象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,我们可以在名字空间中添加一个类而不会影响该名字空间的其他成员。
2. 可扩充性
是对现代应用软件提出的又一个重要要求,即要求应用软件能够很方便,容易的进行扩充和修改,这种扩充和修改的范围不但涉及到软件的内容,也涉及到软件的形式和工作机制。面向对象编程从本质上支持扩充性。如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类。
面向对象的程序设计可以用很好的可扩充性,是由于类可以根据人对事物的理解而进行丰富,没有必要进行作大的改动,可以利用继承,对新的类添加属性和方法 .用它可以生成系统的简单雏形,在征求用户的意见,在加入新的类,以及类的方法与属性等。
3. 代码重用
可重用性是面向对象软件开发的一个核心思路面向对象程序设计的抽象,封装,继承,多态的四大特点都无一例外,或多或少的围绕着可重用性这个核心并为之服务。
由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个类库就非常简单了。
|