摘要
在
网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。随着网络聊天一类的聊天
系统的发展日新月异,因此产生了制作一个类似QQ的网络聊天工具。
Java是一种
程序设计语言[16],它具有简单的、完全面向对象以及与平台无关的结构[20],也具有可移植性、高性能和安全性,并提供了多线程的功能,而
[1]基Java语言最大的成功之处在于它的平台无关性和具有强大的网络编程功能,
于Java网络编程的强大功能本人将用Java编写一个聊天系统。一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式[10]通过Java提供的Soket[21]类来连接客户机和服务器并使客户机和服务器之间相互
通信,由于聊天
[3]是多点对多点的而Java提供的多线程功能用多线程可完成多点对多点的聊天,
数据库
管理系统用SQLServer2000[16]完成并通过JDBC-ODBC桥[19]访问数据库。聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的
注册,发送消息、接受消息等等功能。
关键词:关键词:多线程,客户机/服务器,数据库管理系统
1
ABSTRACT
asthenetworkbecomemoreandmoredeveloped,peoplebecomemoreandmoreleantothenetwork,andcannotleavewithoutit.Thiscausedthechatmaterialsbecomemorenumerous,astheoverseasICQsystem,theOICQsystemthatinventedbyTencentCo.,andsoon.SowecreateanetworkchatmediumjustliketheQQ.Javaisaprogramminglanguagewiththesimpleconstructionwhichiscompletelyobject-oriented。Javaalsopossesstheportability,highperformanceandsecurity,andprovidethemulti–threadfunction.Thebestsuccessisitsanditsstrongnetworkprogrammingfunction,baseonthis,I’dliketouseJavatowriteachatsystem.Generallyspeaking,mostchatmediumconsisttheCLIENTPROGRAM,serverprogramandtheserverwhichisusetocontentthedatabase.Thissystemadoptclient/serverpatternandtheSoketclassprovidebyJavatocommunicatetheclientandserver.Becauseofchatismanytomany,themultithreadingfunctioncanimplementthemany-manychat,databasemanagementsystemuseSQLServer2000andJDBC-ODBCbridgetovisitthedatabase.Chatsyste
misachieved,itcanpossessfunctionslikechatinamany-manyway,addanddeletetheintimate,thenewuser’sregistration,andsendingandreceivingmessage.Key
words:Chatsystem,Multithreading,Client/Server,DatebaseManagementSystem
2
目录
摘要................................................................IABSTRACT...........................................................II目录................................................................31绪论..............................................................51.1课题背景........................................................61.2课题研究的目的和意义............................................61.3国内外概况......................................................61.4课题的主要研究
工作..............................................72系统设计
方案的研究................................................82.1系统的总体需求..................................................82.2系统需求分析....................................................92.2.1服务器端......................................................92.2.2客户端实现的功能..............................................92.3系统的实现原理.................................................112.4系统实现方案分析...............................................132.4.1分析系统数据库的建立.........................................132.4.2分析Socket在服务器端的开发流程..............................132.4.3分析Socket在客户端的开发流程................................142.4.4多线程设计的分析.............................................142.5方案的比较.....................................................152.6系统运行环境...................................................163系统详细设计.....................................................173.1系统的代码结构.................................................173.1.1服务器端的详细设计(Server类)................................173.1.2注册类的详细设计(Register类)................................193.1.3主程序类的详细设计(MainWin类)................................203.1.4
登陆类的详细设计(New类)......................................213.2多线程的详细设计...............................................233.3数据库的详细设计...............................................233.4消息通信的详细设计.............................................244系统的实现.......................................................264.1多线程的实现...................................................264.2数据库在程序中的应用...........................................274.3服务器端的实现.................................................284.4客户端的实现...................................................304.5注册类的实现...................................................314.6主程序类的实现.................................................334.6.1窗口事件的实现...............................................344.6.2服务器连接的实现.............................................374.6.3消息通信的实现...............................................383