Java学习笔记

@Java学习笔记

简易版聊天室(含封装,多线程,IO流)
主要包含以下几个文件
在这里插入图片描述
chat为服务器端,需开启服务器才可进行多人聊天
我们在服务器端指定端口,也就是使用ServerSocket创建服务器(端口号可以任意写,但接收端需改为相应的端口号)
chat.java
在这里插入图片描述
client.java
在这里插入图片描述

因为是多个客户端使用,所以我们需要添加多个线程加上循环,让我们方便碎片式分布时间给各个客户

其中CopyOnWriteArrayList()是系统的一个容器,使用这个容器可以边修改边遍历。

Channel这个容器中添加了我们的客户的基本信息,如姓名,客户输出信息,客户输入信息进行封装
在这里插入图片描述
channel中封装了接受消息、发送消息、发给其他人、释放资源的方法
在这里插入图片描述
因为需要反复释放资源,我们定义了一个Utils作为工具类,需要时直接调用即可。
在这里插入图片描述
send.java与 receive.java其实就是将读写分离,与utils方法类似

以下为源代码:
从最基础的版本开始,后面慢慢完善,内里有备注
简易版聊天室

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值