r
{
protectedSenrersocketlistenSocket;
senrelConnnewConn=null:
Vector
users:
publicvoid
waitForClients()
{
socketnewClient=listenSocket.newConn
=new
accept
();
newCli—
sen,e尤onn
(this,
ent);
users.
addElement(newConn);
}
图2网络聊天室的客户端与服务器端的信息模块图
3关键技术及解决方案
系统开发中所涉及的Java关键技术主要为TCP/IP编程技术、Java数据流技术、Java多线程技术、Java界面编程技术等。使用的类主要为:①java.awt,用于聊天室中界面和按钮的设计;②ja.va.net,用于聊天室中的TcP/IP编程;③java.氓主要用于聊天室的数据流的输人和输出;④java.applet,用于聊天室编写中的小程序的使用与调用;(勤ava.1ang,用于对聊天室程序中的多线程的控制;⑥java.util,用于对聊天室中的用户信息的存储与管理。
3.1接口的实现
}
3.3客户端技术在客户端,本文使用的聊天室客户程序的主类是clientApplet,客户程序的起点,主要定义了聊天室客户程序的用户界面,并且建立聊天室客户端到聊天室服务器端的连接(Socket),为连接指定IP地址和端口号,向聊天室服务器端发送登录信息,初始化client类,建立从聊天室客户端到聊天室服务器端的连接。本文利用client类向服务器端发送信息,并实例化线程类clientnread。使用client-Thread类来接收服务器端传送的信息,并且对信息进行不同的响应:如果接收到普通信息,则在聊天室客户端显示信息;如果接收到退出信息,则聊天室关闭线程,结束连接。client类的实现如程序2。程序2:
publicclassclientextends
程序开发中实现的接口主要为Runnable接口(如程序2,建立多线程)和AetionListener接口(如程序1,界面设计)。
3.2服务器端技术
object
implements
Runnable
在服务器端,定义服务器程序的用户界面,主要使用server类来完成,它是聊天室服务器程序的主类,服务器程序的起点,在线用户向量(Vec.tor)“users”,建立了服务器接口对指定接口进行监听,等待用户申请。收到用户申请后,这个类为~30一
{
pmtectedSocketserVerSocket;
protectedDataOutputstreamoutStream;
pmtectedthreadcThead;
(下转第8页)
万方数据
万方数据
基于Java的聊天室
作者:作者单位:刊名:英文刊名:年,卷(期):白雪,陈广山,BaiXue,ChenGuangshan辽宁师范大学,大连,610064实验科学与技术EXPERIMENTSCIENCEANDTECHNOLOGY2005,3(1)
参考文献(3条)1.Cornel;HorstmannCoreJava19972.唐毅宏实践大师:JAVA2编程篇20003.太平洋网络JAVA程序员必读2003
本文链接:http://d.g.wanfangdata.com.cn/Periodical_sykxyjs200501009.aspx