netty - netty 中非阻塞 channel 中的 SO_TIMEOUT

标签 netty

如果 channel 未在超时毫秒内收到读取/响应,那么 SO_TIMEOUT 是否会过期非阻塞 channel ?

bootstrap.group(workerGroup).channel(NioSocketChannel.class).
.handler(channelInitializer).option(ChannelOption.SO_TIMEOUT, 100);

此外,该选项是否也适用于服务器 channel ?喜欢:
serverBootstrap.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class).
localAddress(new InetSocketAddress(8800)).childHandler(serverChannelInitializer).
option(ChannelOption.SO_TIMEOUT, 100).bind().sync();

最佳答案

SO_TIMEOUT仅对 OIO 套接字传输有效。您应该使用 IdleStateHandler并处理 IdleStateEvent在您的 userEventTriggered()执行。

关于netty - netty 中非阻塞 channel 中的 SO_TIMEOUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22892575/

相关文章:

java - 将 gRPC 与 Vert.x 结合使用,netty 依赖问题

java - 如何在netty中创建 channel 池?

tcp - Netty 客户端没有收到来自快速服务器的消息

java - 如何关闭与netty CorsHandler的连接

java - Netty 5不听java

netty - 如何将事件发送给 netty 中的其他处理程序?

java - 哪个相当于reactor.netty.http.server包中的旧方法startAndAwait?

java - 你能用 Netty 测量 TCP 带宽、延迟和抖动吗?

java - Java 的 Netty 和 GUI

java - 在 Netty 中发送 HTTP Post 请求