您的位置 首页 > 腾讯云社区

TCP多人聊天室实现简单思路---用户7073689

TCP多人聊天室实现1.1 分析客户端 功能: 1. 数据发送 2. 数据接收 技术: 1. socket 2. 输入流和输出流 3. 多线程,客户端功能模块有两个线程 聊天: 1. 群聊 2. 私聊 私聊前缀 @服务器用户ID号:msg 服务器 功能: 1. 数据转发 2. 用户注册 技术: 1. ServerSocket 2. 每一个用户对应的Sokcet对象 3. 多线程同时在线 4. HashMap<Integer, 用户> 数据转发: 私聊前缀判断 群聊所有人发送1.2 客户端实现数据发送: 使用输出流发送数据给服务器 遵从Runnable接口 数据接收: 使用输入流从服务器端接收数据 遵从Runnable接口 客户端主方法: 用户名提交 数据发送 数据接收 多线程启动1.3 资源关闭问题代码中操作了大量的输入流和输出流,这里都需要进行关闭操作。 DataInputStream, DataOutputStream, BufferedReader, Socket 以上这些资源都是Closeable接口的实现类,都有对应的Close方法 封装一个工具类: 提供一个closeAll方法,参数为符合Closeable接口的实现类对象。 这里可以考虑可变长参数 Closeable... closeable 可变长参数在方法中使用的过程里面是对应一个数组,这里完成可以使用增强for来使用 工具类名: CloseUtil public static void closeAll(Closeable... closeable)1.4 功能拓展1. 用户退出 用户输入指定字段之后可以退出 客户端Socket服务 服务端Socket服务 涉及资源关闭,线程关闭 2. 用户异常退出 在运行过程中发现问题,需要及时处理,关闭对应的资源,终止对应的线程 3. 服务器保存所有的聊天记录 ---来自腾讯云社区的---用户7073689

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: