简单聊天室案例

综述

  • 条件:分为客户端、服务端。
  • 约束:数据传输协议。对消息转换为byte数组末尾添加换行符,作为消息约束。
  • 原理:服务端监听消息来源、客户端连接服务器并发送消息到服务器

客户端之间的数据传输

模型:客户端发送数据给服务端,由服务端转发给其他客户端。

功能实现

  • 客户端发送消息给其他客户端(包括服务端)
  • 服务端发送广播给客户端

运行环境

 IDEA

目录结构

  • 多模块项目
  • lib-clink --工具包

       utils --基本工具包

          ByteUtils --byte数据的工具类

          CloseUtils  --关闭操作工具类

       Clink --clink总类

  • sample-client --客户端

       bean --数据格式封装包

          ServerInfo  --服务器信息封装类

       Client --客户端启动总类

       TCPClient --TCP数据发送类

       UDPSearcher --UDP搜索类

  • sample-foo --协议包

       constants --协议规定包

          TCPConstants --TCP协议规定端口等

          UDPConstants --UDP协议规定端口等

  • sample-server --服务端

       handle

          ClientHandler --客户端线程类

       Server --服务器启动总类

       TCPServer --TCP服务端

       UDPProvider --UDP接收广播回送消息类

代码

注释在里边了

链接: 百度网盘 提取码: wui7 

不足

  • 这只是最基础的版本,用于客户端数量不是太多的情况
  • 以后的文章会改进代码

猜你喜欢

转载自blog.csdn.net/weixin_42089175/article/details/89045904
今日推荐