Java聊天室试验汇报班级:******学号:********姓名:***目录:一、试验目的.......................................................3二、所需技术.......................................................3三、需求分析.......................................................3四、系统设计.......................................................41、服务器构造..................................................42、客户端构造..................................................4五、实现细节.......................................................51、客户端细节...................................................52、服务器细节...................................................6六、系统展示.......................................................7七、试验小结.......................................................9Rain153WeChat聊天室系统一、试验目的:1、使用Java技术完毕聊天室系统,深入学习使用Java语言。2、使用Java的多线程机制,深入理解Java多线程技术的应用。3、使用GUI,对JFrame的深入学习。4、使用网络编程,掌握基于TCP协议的Socket编程,理解Socket编程的协议约定,掌握简朴应用协议的开发。5、使用C/S架构,对网络编程有一定的理解。二、所需技术本系统规定使用java技术开发。所需知识包括java程序设计语言、swing基本GUI组件、多线程编程、socket编程、集成开发环境使用eclipse。系统采用两层C/S体系构造,C端负责通过GUI与客户交互,实现注册、登陆、收发信息、退出等功能;S端是聊天系统的服务器。三、需求分析开发一种类似QQ的聊天室系统,即WeChat聊天系统。该系统应具有如下功能:1、顾客注册、登录2、群聊;3、私聊;4、服务器发送系统消息;5、服务器踢人;6、保留日志;7、保留聊天信息;四、系统设计1、服务器构造服务器控制监听窗体启动服务器监听处理所有用户请求ServerFrameAppServerConnection服务器端构造图示2、客户端构造用户登录窗体启动客户端时钟窗体LoginChatClientClock用户窗体监听器用户聊天主窗体用户注册窗体RegisterChatRoomWindowclose客户端构造图示1、AppServer.java为服务器端监听类,负责服务器的启动,包括启动监听端口、服务器监控界面。2、ServerFrame.java为服务器监控窗体,负责监控服务器运行状态。3、Connection.java为服务器连接处理的详细实现。4、ChatClient.java为客户端程序启动类,负责客户端的启动和退出。5、Login.java为客户端程序登录界面,负责顾客帐号信息的验证与反馈。6、Register.java为客户端程序注册界面,负责顾客帐号信息的注册验证与反馈。7、ChatRoom.java为客户端程序聊天室主界面,负责接受、发送聊天内容与服务器的Connection合作。8、Windowclose为ChatRoom.java的内部类,负责监听聊天室界面的操作,当顾客退出时返回给服务器信息。9、Clock.java为客户端程序的一种小程序,实现的一种石英钟功能。(可选)五、实现细节概述:聊天室重要功能的实现:从界面输入登录信息,然后与服务器建立Socket连接(连接时应指定服务器的IP地址和端口号,而客户端socket的端口由本方操作系统从空闲端口中确定),服务器端的“倾听Socket”收到连接祈求后,一般会接受连接祈求,并生成一种服务端socket,专门负责与此客户端socket的通信。一旦连接祈求成功,客户端将信息及祈求通过本方socket的输出流发送给服务器端对应的socket,服务端则通过服务器端Socket的输入流接受客户端传播过来的信息及祈求,分析是何祈求,然后根据祈求类型,进行对应的处理(如登录、转发信息等)。服务方也可以根据需要,通过socket的输出流发信息和祈求给客户端(公告)。客户方和服务方都可以通过关闭本方的socket而结束一次通讯过程。为了实现多客户在线的祈求,使用多线程机制来处理,对每一种客户端连接通讯,服务器端均有一种线程专门负责处理。一)客户端细节1、注册:当选择注册时,Register界面等待顾客输入注册信息,并将信息封装成Register_Customer类,然后通过建立在Socket的连...