Files
hutool/hutool-socket/README.md

61 lines
2.3 KiB
Markdown
Raw Normal View History

2023-04-17 01:04:37 +08:00
<p align="center">
<a href="https://hutool.cn/"><img src="https://plus.hutool.cn/images/hutool.svg" width="45%"></a>
</p>
<p align="center">
<strong>🍬Make Java Sweet Again.</strong>
</p>
<p align="center">
👉 <a href="https://hutool.cn">https://hutool.cn/</a> 👈
</p>
## 📚Hutool-socket 模块介绍
2026-01-02 22:50:35 +08:00
Socket套接字是计算机网络中进行通信的端点它是TCP/IP协议栈中应用层与传输层之间的抽象接口。Socket允许应用程序通过网络进行通信实现不同设备之间的数据传输。
在Java中Socket编程通常涉及创建套接字`java.net.Socket`)对象,并通过该对象进行数据的发送和接收。、
### 通信模式
1. **BIOBlocking IO**同步阻塞IO每个连接对应一个线程
2. **NIONon-blocking IO**同步非阻塞IO单线程处理多个连接
3. **AIOAsynchronous IO**异步非阻塞IO基于事件驱动
2023-04-17 01:04:37 +08:00
`Hutool-socket`NIO和AIO做了简单的封装用于简化Socket异步开发。
-------------------------------------------------------------------------------
## 🛠️包含内容
2026-01-02 22:50:35 +08:00
### 核心组件
| 组件 | 说明 | 包路径 |
|------|------|--------|
| SocketUtil | Socket工具类提供常用Socket操作 | cn.hutool.v7.socket |
| SocketConfig | Socket配置类 | cn.hutool.v7.socket |
| SocketRuntimeException | Socket运行时异常 | cn.hutool.v7.socket |
| ChannelUtil | 通道工具类 | cn.hutool.v7.socket |
### AIO实现
| 组件 | 说明 | 包路径 |
|------|------|--------|
| AioClient | AIO客户端 | cn.hutool.v7.socket.aio |
| AioServer | AIO服务器 | cn.hutool.v7.socket.aio |
| AioSession | AIO会话 | cn.hutool.v7.socket.aio |
| IoAction | IO动作接口 | cn.hutool.v7.socket.aio |
| SimpleIoAction | 简单IO动作实现 | cn.hutool.v7.socket.aio |
### NIO实现
| 组件 | 说明 | 包路径 |
|------|------|--------|
| NioClient | NIO客户端 | cn.hutool.v7.socket.nio |
| NioServer | NIO服务器 | cn.hutool.v7.socket.nio |
| ChannelHandler | 通道处理器 | cn.hutool.v7.socket.nio |
| Operation | 操作类型枚举 | cn.hutool.v7.socket.nio |
### UDP实现
2023-04-17 01:04:37 +08:00
2026-01-02 22:50:35 +08:00
| 组件 | 说明 | 包路径 |
|------|------|--------|
| PacketBuilder | UDP数据包构建器 | cn.hutool.v7.socket.udp |
| UdpSession | UDP会话 | cn.hutool.v7.socket.udp |