Package org.miaixz.bus.socket.accord
Class AioServer
java.lang.Object
org.miaixz.bus.socket.accord.AioServer
AIO服务端
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionsetBacklog(int backlog) 设置 backlog 大小setBufferFactory(BufferFactory bufferFactory) 设置内存池的构造工厂。 通过工厂形式生成的内存池会强绑定到当前AioServer对象, 在AioServer执行shutdown时会释放内存池。 在启用内存池的情况下会有更好的性能表现setBufferPagePool(BufferPagePool bufferPool) 设置内存池。 通过该方法设置的内存池,在AioServer执行shutdown时不会触发内存池的释放。 该方法适用于多个AioServer、AioClient共享内存池的场景。 在启用内存池的情况下会有更好的性能表现setLowMemory(boolean lowMemory) <V> AioServersetOption(SocketOption<V> socketOption, V value) 设置Socket的TCP参数配置。setReadBufferFactory(VirtualBufferFactory readBufferFactory) setReadBufferSize(int size) 设置读缓存区大小setThreadNum(int threadNum) 设置服务工作线程数,设置数值必须大于等于2setWriteBuffer(int bufferSize, int bufferCapacity) 设置输出缓冲区容量voidshutdown()停止服务端voidstart()启动Server端的AIO服务voidstart(AsynchronousChannelGroup asynchronousChannelGroup) 内部启动逻辑
-
Constructor Details
-
AioServer
设置服务端启动必要参数配置- Parameters:
port- 绑定服务端口号protocol- 协议编解码handler- 消息处理器
-
AioServer
- Parameters:
host- 绑定服务端Host地址port- 绑定服务端口号protocol- 协议编解码handler- 消息处理器
-
-
Method Details
-
start
启动Server端的AIO服务- Throws:
IOException- IO异常
-
start
内部启动逻辑- Throws:
IOException- IO异常
-
shutdown
public void shutdown()停止服务端 -
setReadBufferSize
设置读缓存区大小- Parameters:
size- 单位:byte- Returns:
- 当前AioServer对象
-
setOption
设置Socket的TCP参数配置。AIO客户端的有效可选范围为:
2. StandardSocketOptions.SO_RCVBUF
4. StandardSocketOptions.SO_REUSEADDR
- Type Parameters:
V- 配置项类型- Parameters:
socketOption- 配置项value- 配置值- Returns:
- 当前AioServer对象
-
setThreadNum
设置服务工作线程数,设置数值必须大于等于2- Parameters:
threadNum- 线程数- Returns:
- 当前AioServer对象
-
setWriteBuffer
设置输出缓冲区容量- Parameters:
bufferSize- 单个内存块大小bufferCapacity- 内存块数量上限- Returns:
- 当前AioServer对象
-
setBacklog
设置 backlog 大小- Parameters:
backlog- backlog大小- Returns:
- 当前AioServer对象
-
setBufferPagePool
设置内存池。 通过该方法设置的内存池,在AioServer执行shutdown时不会触发内存池的释放。 该方法适用于多个AioServer、AioClient共享内存池的场景。 在启用内存池的情况下会有更好的性能表现- Parameters:
bufferPool- 内存池对象- Returns:
- 当前AioServer对象
-
setBufferFactory
设置内存池的构造工厂。 通过工厂形式生成的内存池会强绑定到当前AioServer对象, 在AioServer执行shutdown时会释放内存池。 在启用内存池的情况下会有更好的性能表现- Parameters:
bufferFactory- 内存池工厂- Returns:
- 当前AioServer对象
-
setReadBufferFactory
-
setLowMemory
-