
这个项目利用Socket、ServerSocket、DatainputStream、DataOutputStream、Thread以及GUI技术,开发一个简单聊天室应用程序。图1显示这个聊天室程序本机模拟运行后的典型结果。其中可以看到服务器接受两个用户以及显示两个用户的对话过程。下图是在本机操作系统窗口运行一个聊天用户的截图。

图1 聊天室两个用户对话截图
在下面的代码解释中将详细讨论主要类和方法的设计目的编写技术。这里将项目中的两大类:服务端类ChatServer以及用户端类ChatClient做一个概括性描述。
ChatServer——利用ServerSocket创建连接、监控用户端连接端口、利用API类Vector管理和协调多用户端的请求与对话操作,以及各种异常处理。
ChatClient——利用Socket创建对服务端ServerSocket的连接和异常处理、运行时得到用户名以及显示、利用GUI组件创建聊天室窗口、布局、显示聊天内容以及事件处理。利用线程执行对多聊天用户的协调处理和操作等。ChatClient包括如下内部类:
WindowExitHandler——执行按下Exit按钮时的关闭聊天室窗口操作。
TextActionHandler——执行将输入的聊天信息显示到每个用户聊天室窗口的功能。