Files
hutool/hutool-socket/README.md
2026-01-02 22:50:35 +08:00

61 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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 模块介绍
Socket套接字是计算机网络中进行通信的端点它是TCP/IP协议栈中应用层与传输层之间的抽象接口。Socket允许应用程序通过网络进行通信实现不同设备之间的数据传输。
在Java中Socket编程通常涉及创建套接字`java.net.Socket`)对象,并通过该对象进行数据的发送和接收。、
### 通信模式
1. **BIOBlocking IO**同步阻塞IO每个连接对应一个线程
2. **NIONon-blocking IO**同步非阻塞IO单线程处理多个连接
3. **AIOAsynchronous IO**异步非阻塞IO基于事件驱动
`Hutool-socket`NIO和AIO做了简单的封装用于简化Socket异步开发。
-------------------------------------------------------------------------------
## 🛠️包含内容
### 核心组件
| 组件 | 说明 | 包路径 |
|------|------|--------|
| 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实现
| 组件 | 说明 | 包路径 |
|------|------|--------|
| PacketBuilder | UDP数据包构建器 | cn.hutool.v7.socket.udp |
| UdpSession | UDP会话 | cn.hutool.v7.socket.udp |