2005年1月第l期
实验科学与技术
基于
Java的聊天室的
设计与实现+
DeVelopmentandResearhofChatRoomwithJaVa
白雪”
陈广山大连610064)
(辽宁师范大学
摘要:对在一个具体的B/S体系结构,提出了一种基于Java的聊天室的分析与设计方法。使用TCP/IP编程和Java界面编程,结合基于Java的输入输出数据流技术,对消息进行管理和发送,并且利用Windows的多线程技术对
程序的运行速度进行了改善,为其他程序作聊天室无法解决的控制
问题提出了较好的解决
方案。关键词:Java;TCP/IP;数据流;多线程
中图分类号:TP312JA
文献标识码:B
文章编号:1672—4550(2005)0l一0029一03
”l℃fVlP。
1
概述
聊天室在
网络中的应用是极其广泛的,用ASP
scrvcf(聊天室服务器)
创建scocrsocket对象
在某端口提供监听服务
l
开发聊天室的方法也被越来越多的人所掌握。随着Java的崛起,以其简单、结构中立、可移植性好、多线程等特点被广泛应用于Intemet环境的
系统开发之中。由于使用Java开发的聊天室比较少见,所以笔者尝试设计开发了基于Java的聊天室。
I
等待来自clicnt端的服务请求
C1knt(聊天室亨户端’
、
接收来dclicnt端的服务请求.譬翼
用返回的Sockct建立连接
l
通过向sockct读写数据,与CIicnt端
通信数据通信(…??)拆除连接(…一)
通过向L雠读写数据,
2基于Java的聊天室的分析与设计
2.1
工作原理设计Java聊天室是指用Java技术开发基于B/S结构的网络聊天室,主要包括服务器端程序(serv.er)和客户端小程序(client)的设计。服务器端与客户端工作原理如图1所示:2.2功能的模块化设计
2.1.1
I
关闭Sockct,结束与当前Clicm的通信,等待其他请求
I
关闭scrvHSock烈对象。结柬监听服务
图l服务器端与客户端工作原理
果为退出消息,则在在线用户向量中删除该用户。同时,服务器也具有显示在线用户名和IP地址的功能,并能实施对用户进行在线的监控,通过发送消息示警,将违反规定的用户踢出聊天室。
2.2.2
网络聊天室服务器端设计
服务器的作用是创建ServerSocket对象对端口5000进行监听,以等待客户端的请求;如果收到客户端发出的登录请求,服务器即为每一个申请登录的客户建立一个连接(Socket),记录下客户的IP地址和登录名称,并将客户信息保存到在线用户向量中。服务器还负有对客户消息进行检测的职责,如果是普通消息,则将消息发送给所有在线用户;如