Jva实现的多人聊天室Author : ScorpioDong
1 .成品展示
2 .绘制软件界面Java可以使用的GUI框架包括AWT、Swing和JavaFX。 JavaFX是Java推荐的较大的GUI框架,接口具有很高的可定制性。 本软件功能较少,以学习网络通信为目的,因此使用简单易用的Swing框架。
这里新建了一个MainFrame类。 从JFrame继承,实现软件的接口。 (这里直接使用的绝对布局简单粗暴)
3. Model软件定义了两个3.model:command和Message
命令数据模型负责网络数据传输过程中的命令传输。
Message数据模型负责网络数据传输中消息和消息附加信息的传输,包括主叫方昵称、主叫方IP、主叫时间、消息内容。
4 .网络通信4.1 TCP客户端实现定义了TcpComm类,从套接字类继承,自定义了write和read方法。
4.2 TCP服务端实现这里最简单的方法,使用ServerSocket侦听端口,在accept方法到达Socket对象时,打开线程进行数据处理。 (此方法适用于访问量少的情况,访问量大的情况下请考虑使用NIO。)
5 .软件各种事件的处理信息发送事件
TCP初始化和消息接收事件
用于通知服务脱机和资源释放的客户端程序退出事件
6 .工程源gitee :https://gitee.com/Scorpio dong/mychat
7 .需要改进的点软件使用while (真)环路接收网络数据,CPU资源利用率过高。 接下来将考虑使用Java NIO事件驱动。 界面太硬了,以后再考虑怎么美化。