综述
- 条件:分为客户端、服务端。
- 约束:数据传输协议。对消息转换为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
不足
- 这只是最基础的版本,用于客户端数量不是太多的情况
- 以后的文章会改进代码