后文附代码下载链接,代码经过调试,可以正常使用学年论文目录摘要................................................................1Abstract............................................................2第一章绪论.........................................................11.1课题背景....................................................11.2研究现状...................................................11.3本文的主要工作..............................................21.4开发平台及环境介绍...........................................2第二章系统分析.....................................................32.1功能要求.....................................................32.2系统结构图...................................................32.3性能要求...................................................4第三章系统设计.....................................................63.1数据库设计..................................................63.2服务器端软件结构............................................73.3客户端软件结构.............................................133.4测试运行...................................................16总结...............................................................17参考文献...........................................................18西北师范大学08级计算机专业学年论文1摘要随着互联网的快速发展,网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、腾讯QQ、MSN-Messager等等。该系统开发主要包括一个网络聊天服务器程序和一个网络聊天客户程序两个方面。前者通过Socket套接字建立服务器,服务器能读取、转发客户端发来信息,并能刷新用户列表。后者通过与服务器建立连接,来进行客户端与客户端的信息交流。其中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)、网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。经过分析这些情况,该局域网聊天工具采用Eclipse为基本开发环境和java语言进行编写,首先可在短时间内建立系统应用原型,然后,对初始原型系统进行不断修正和改进,直到形成可行系统西北师范大学08级计算机专业学年论文2AbstractWiththerapiddevelopmentofInternet,networkchattoolhasbeenusedasanimportanttoolforinformationexchange,agrowingnumberofInternetusersofallages.Atpresent,therearemanyverygoodchattools,whichiswidelyusedinNetmeeting,TencentQQ,MSN-Messagerandsoon.Thesystemincludesthedevelopmentofanetworkchatserverprogramandanetworkchatclientprogramintwoaspects.TheformerthroughtheSocketsocketestablishaserver,servercanread,forwardedfromclientinformation,andcanrefreshthelistofusers.Thelatterbyestablishaconnectionwiththeserver,toclientandclientinformationexchange.Whichusesalocalareanetworkcommunicationmechanism,throughdirectThreadclassinheritancetocreatemultiplethreads.Developmentofthecomputernetworkprogrammingtothebasicknowledge,suchastheTCP/IPprotocol,client/servermode(Client/Servermode),networkprogrammingdesignmethod.Networkprogrammingintheinformationread,send,istheuseofflowtoachieveinformationexchange,whichisintroducedtoimplementasystematicanalysisofinformationflow,includingsomebasicsoftwareengineeringmethods.Throughtheanalysisofthesecases,theLANchattoolsusingEclipseasthebasicdevelopmentenvironmentandJavalanguagepreparation,firstinashortperiodoftimecanbuildupthesystemapplicationprototype,then,fortheinitialprototypesystem,revisesandtheimprovementunceasingly,untilformingthefeasiblesystem.西北师范大学08级计算机专业学年论文1第一章绪论1.1课题背景随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。本文所介绍的C/S聊天系统是基于开放的JAVA应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,易于维护和更新,其运行所需环境及其工作流程和各个功能控件的工作原理将在本文依次介绍,并且文中提供了部分程序源代码。本文中将讨论一种基于Socket的即时通讯工具的设计与实现方法。1.2研究现状即时通讯软件属于娱乐型软件,它已经是众多网民的必备软件。即时通讯软件是通过即时通讯技术来实现在线聊天、交流的软件。目前有2种架构形式,1、一种是C/S架构,采用客户端/服务器形式,用户使用过程中需要下载安装客户端软件,典型的代表有:QQ、百度HI、SkypeQQVSGU、Gtalk、新浪UC、MSN等;2、采用B/S架构,即浏览器/服务端形式,这种形式的即时通讯软件,直接借助互联网为媒介、客户端无需安装任何软件,既可以体验服务器端进行沟通对话,一般运用在电子商务网站的服务商,典型的代表有Websitelive、53KF、live800等。西北师范大学08级计算机专业学年论文21.3本文的主要工作本文主要工作是设计一个基于WINDOWS平台的即时通讯工具,然后阐述本软件的功能、并详细阐述开发本软件所用的相关技术,具体分析本软件的各个模块的功能及实现方法,说明本软件的设计思想及方法。1.4开发平台及环境介绍本系统采用jdk1.6平台开发,JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的工具。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。本系统正是采用了比较新的版本来开发。由于jdk对电脑硬件配置要求不是很高,所以只要内存在256M以上配备了windows的计算机就可以流畅的使用jdk1.6。西北师范大学08级计算机专业学年论文3第二章系统分析2.1功能要求(1)用户端之间的信息发送,本程序需要实现的最基本的功能(2)在线用户主机名列表的维护。(3)在C/S模式中,服务器与客户端是相互依赖的。在客户端启用以后,需要查看服务器端是否在线,服务器在线才能正常使用客户端,如果服务器不在线,则在检测一定次数以后自动退出客户端程序。在使用过程中,客户端在指定时间内未向服务器端发送信息的,服务器认为客户端下线;客户端在一定时间内未收到服务器端信息的,认为服务器已经下线,则提示用户并建议退出,在用户一定时间后没有退出的则自动关闭客户端程序。2.2系统结构图如图图2-1,采用三层C/S模式,使用Java语言开发,后台数据库采用Access。客户间通讯使用UDP协议,客户端与服务器之间的通讯采用TCP/IP协议。西北师范大学08级计算机专业学年论文4图2-1聊天系统结构图2.3性能要求首先要求程序要可靠,可以应付种种由于系统问题产生的错误,比如初始网络失败,对方突然下线等。要求提前设想到类似的尽可能多的可能发生的事件,做出相应的应对措施,并向用户提交简单易懂清晰明白的提示信息。程序要有良好的容错性,当用户进行非法操作时或者系统本身出现问题时要能以最好的方式退出程序,避免发生程序假死现象。开发文档要有好的易理解性,如果系统又要交由别人接手开发,或者自己由西北师范大学08级计算机专业学年论文5于种种原因需要进行二次开发,那么要保证以后能够清晰的理解整个系统的设计思路以及实现细节。要求程序对所运行之系统的硬件条件要求尽可能低,运行时内存占用尽可能小,响应速度要尽可能快。并且不发生内存泄漏之类影响系统运行的错误事件。并且要求易于维护及扩展。所以应该采用模块化开发,各个模块之间不要有太多的联系,以免维护困难。西北师范大学08级计算机专业学年论文6第三章系统设计3.1数据库设计本软件的服务器端需要用到数据库,二用户端则无需安装任何数据库。这里选择的数据库平台暂时定为Access,数据库文件为MyQQ.mdb,采用JDBC-ODBC桥连接,ODBC数据源名称也为myqq。在数据库中,共有三张表,每张表的表名以及字段描述如下:FRIEND表该表记录了每个用户所拥有的好友号码,字段说明如表3.1所示。字段名类型长度含义主键否QQNUM长整型自动用户账号否FRIEND长整型自动该账号好友否表3-1QQNUM表该表记录了所有合法的账号,字段说明如表3-2所示。字段名类型长度含义主键否ID长整型自动用户编码是QQNUM长整型自动账号否USER_