基于Java的网络聊天工具的开发与实现.doc
《基于Java的网络聊天工具的开发与实现.doc》由会员分享,可在线阅读,更多相关《基于Java的网络聊天工具的开发与实现.doc(41页珍藏版)》请在沃文网上搜索。
1、 中文摘要当前是信息网络得到飞速发展的时代,尤其是计算机和通信技术的发展和结合,深深的影响着我们的生活、学习和工作方式。其中,网络聊天工具成为人们日常交流的一种重要工具,它成本低,通信速度快,方便信息交流和资料的传递。目前应用比较广泛的聊天工具有腾讯QQ、Net meeting、MSN等,这些软件简单易用,深受大众喜欢。在论文中,首先论述了系统的开发背景,并对所用到的开发工具与关键技术做了简单的介绍。接着对系统的研究意义,研究现状及设计目标进行分析,通过对系统需求和可行性进行分析,确定了系统的功能模块,并画出相应的功能结构图、模块图。其次按系统总体设计的结果,对系统进行结构设计。本次开发的网络
2、聊天系统是基于开放的Java应用程序设计的,能动态、实时地完成信息的传递,且具有高效的交互性,能更有效地处理客户请求,易于维护和更新。系统采用客户机/服务器的架构模式,由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,使用Java提供的Socket类以及Java的多线程功能,在不同的端口上部署各类服务,可以在单个程序中同时运行多个不同进程,而客户端通过Socket发送信息给服务器,从而实现多点对多点的聊天。关键词:Java,交互性,Socket类,多线程ABSTRACTThe rapid development of the information networks, espe
3、cially the development and integration of computer and communication technologies, has deeply affected our lives, learning and work. Among them, the Internet chat tool becomes an important tool for daily communication, because of its low cost, fast communication and facilitate information exchange a
4、nd data transmission. Currently used widely in the chat tool are Tencent QQ, Net meeting, MSN, etc.In the paper, firstly I discuss the background of the development of the system and simply introduce the development tools and key technologies used. Secondly I analyze the research and design objectiv
5、es to the significance of the system. Through the system requirements and feasibility analysis, I determine the functional modules of the system and draw the corresponding function block diagram, block diagram. Then according to the results of the overall system design, I design the structural of th
6、e system. The development of the Internet chat system is designed based on open Java application. It can be dynamic, real-time information transfer and efficient interaction so that it can deal more effectively with customer requests, easy to maintain and update. The system will use the client / ser
7、ver architecture model, which includes the client program and server programs plus server-side database used to store customer data. By using the socket class provided by java and java multi-threading capability,we can deploy various services on a different port and a number of different processes c
8、an be run simultaneously in a single program. Clients send information to the server through the socket in order to achieve multi-point-to-multipoint chat.Key words: Java, interactivity, the Socket class, multi-threaded目录第1章绪论11.1课题背景11.2 开发技术11.2.1 Java11.2.2 TCP/IP31.2.3 Socket41.3开发工具51.3.1 Eclip
9、se51.3.2 StarUML6第2章 系统需求分析72.1 基本功能需求72.2 性能需求72.3 界面需求7第3章 系统设计83.1 系统功能设计83.2 系统总体设计93.2.1 系统方案设计93.2.2 系统功能模块图93.2.3 系统类图103.2.4 系统用例图113.2.5 时序图123.2.4活动图12第4章 系统实现174.1 数据库连接实现174.2 登录、注册功能实现184.3 聊天功能实现204.4 好友管理功能实现254.5 资源共享功能实现30总结34参考文献35致谢3638基于Java的网络聊天工具的开发与实现第1章绪论1.1课题背景现在互联网越来越发达,网络聊
10、天工具成为人们日常交流的一种重要工具,它成本低,通信速度快,方便信息交流和资料的传递,所以开发一个界面友好、易于操作的聊天工具能较好地解决电话的单线程通信以及费用高昂等问题。随着网络普及程度的提高,人们对于通信软件的要求越来越趋于简单操作,同步实时,以及更简单的网络传输。本次开发的网络聊天系统是基于开放的Java应用程序设计的,能动态、实时地完成信息的传递,且具有高效的交互性,能更有效地处理客户请求,易于维护和更新。系统分为两部分:客户端和服务器端。客户端主要实现新建用户、用户登录、好友管理和消息的收发功能以及群聊功能,客户端申请与服务器端建立连接,当客户端与服务器端建立连接通道后就可以像服务
11、器端发送新建用户信息和登录信息,以及好友管理、信息编辑、发送和接收的功能;服务器端主要完成建立连接、数据库操作和监听客户三大功能,服务器端建立一个Server Socket的连接,不断侦听客户端是否建立连接或断开连接,如果有客户端申请连接就启动线程与客户端建立连接并按照客户端的请求对数据库进行操作并把结果返回给客户端。1.2 开发技术1.2.1 JavaJava是一个由Sun公司开发的新一代高级编程语言。它可在各式各样不同机器、不同操作平台的网络环境中开发软件。不论你使用的是哪种WEB浏览器,哪种计算机,哪种操作系统,只要WEB浏览器上面注明了“支持Java”,并且装有JAVA控件,你就可以看
12、到生动的主页。Java正在逐步成为Internet应用中最主要的开发语言,它彻底改变了软件开发模式,带来了自PC机以来又一次革命,为飞速发展的网络世界增添了新的动力。(一)JAVA的主要特点Java语言有下面一些特点:简单、面向对象、分布式、解释执行、 安全、体系结构中立、可移植、高性能、多线程以及动态性。1.简单Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务。Java略去了运算符重载、多重继承等模糊的概念,且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。2.面向对象Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型,实现了模块化和
13、信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。3.分布性Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。4.安全性用于网络、分布环境下的Java必须要防止病毒的入侵。Java不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用 “特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。5.体系结构中立Java解释器生成与体系结构无关的指令,Java程序可在任意的处理器上运行。这些指令对应于Java虚拟机中的表示,
14、Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。6.可移植性与平台无关的特性使Java程序可以方便地被移植到网络的不同机器上。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java 系统本身也具有可移植性。7.解释执行Java解释器直接对Java字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。8.高性能和其它解释执行的语言如BASIC不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。9.多线程多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通
15、过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。10.动态性Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入 新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。(二)丰富的类库Java提供了大量的类以满足网络化、多线程、面向对象系统的需要。1.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等,可以用它简单地实现Java程序的运行平台。2.实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。3
16、.输入输出包用统一的流模型来实现所有格式的I/O,包括文件系统、 网络、输入4.低级网络包用于实现Socket编程。5.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件, 包括窗口、菜单、滚动条、对话框等,使得Java可以移植到不同平台的机器。6.网络包支持Internet的TCP/IP协议,提供了与Internet的接口。它支持URL连接,WEB即时访问,并且简化了C/S模型的程序设计。1.2.2 TCP/IP (1) TCP/IP协议的特点:TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议/网际协议的缩写
17、, TCP/IP是当今网络互联的核心协议。TCP/IP协议的体系结构共有四个层次,即应用层、传输层、网络互联层和网络接口层。IP协议的作用:第一,它是网络层的协议,提供互联网上数据传输的统一格式。第二,提供不可靠的无连接的服务。第三,定义了互联网上的传输数据的基本单元,提供了供路由选择的信息,没有差错校验和处理的机制。TCP/IP协议具有以下特点:1、 协议标准具有开放性,其独立于特定的计算机硬件及操作系统,可以免费使用。2、 统一分配网络地址,使得每个TCP/IP 设备在网络中都具有唯一的IP地址。3、 实现了高层协议的标准化,能为用户提供多种可靠的服务。(2)TCP/IP协议进行传输数据传
18、输的过程:应用程序为了传输数据会调用TCP,将数据和对应的参数传给TCP,将TCP 数据包封装在IP包内,通过网络送给目的TCP。接收方TCP在接收到数据后通知上层应用程序,TCP将保证接收数据的正确性。TCP调用IP接口,向TCP提供所有TCP需要的服务。(3)端口号:有的时候,一个IP地址不能完整的标识一台服务器,这是应为一台物理性的计算机同时运行着多个应用程序,这就需要我们来区别同一台机子上的不同的服务,所以就在传输层和应用层上设置接口,就是端口。端口实际是一个16位长的 地址,他的范围是065535之间,其中01023是熟知端口,主要是给提供服务的应用程序使用,这些端口是所有应用进程都
19、只道的,102465535为一般端口,也称动态端口、连接端口,用来随时分配要求通信的客户端应用程序。在数据传输过程中,各种服务器不断的检测分配给他的端口,一边发现要求和他通信的客户端。1.2.3 SocketSocket,简称套接字,用于实现网络上客户和服务器之间的连接。也就是说网络上两个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套接字是在比较低的层次上通信的。具体的说:一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个Socket建立连接,客户端通过写
20、Socket来通知服务器,以读Socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。服务器也通过它的本地端口连接一个socket,通过读写和客户端通信。Socket程序的工作过程:1、建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。2、数据通信:利用虚拟连接通道传送数据信息进行通道。3、关闭:通信结束时,再将所建的虚拟连接拆除。具体如下1服务器socket2监听4接收5读6写7关闭3客户端etsocket6 写5 读7关闭 图1.1 Socket套接字原理图1.3开发工具1.3.1 Eclipse集成开发环
21、境(Integrated Development,简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、debug功能等一体化的开发软件套。所有具备这一特性的软件或者软件套(组)都可以叫做IDE。Eclipse只是一个框架软件,本身不能开发程序,但它可以安装各种插件。正是运行在Eclipse平台上的种种插件,提供了程序开发的各种功能。同时各个领域的开发人员通过开发插件,可以构建与Eclipse环境无缝集成的工具。Eclipse是一个非常成功的开源项目,相对比Borland公司的王牌JBuilder来说,拥
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 网络 聊天工具 开发 实现
