首页 > 编程知识 正文

JAVA多线程网络聊天室代码(聊天室java实现)

时间:2023-05-04 20:44:22 阅读:64135 作者:4382

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事件驱动。 界面太硬了,以后再考虑怎么美化。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。