netty绑定端口报错bug解决

This commit is contained in:
guoshengxiong 2025-04-07 17:05:32 +08:00
parent 37539074a4
commit cb45d95486

View File

@ -53,17 +53,21 @@ public class NettyTcpServer {
*/ */
@PostConstruct @PostConstruct
public void start() throws InterruptedException { public void start() throws InterruptedException {
ServerBootstrap serverBootstrap = new ServerBootstrap(); try {
serverBootstrap.group(bossGroup, workerGroup) ServerBootstrap serverBootstrap = new ServerBootstrap();
.channel(NioServerSocketChannel.class) serverBootstrap.group(bossGroup, workerGroup)
.childHandler(jt808ChannelInitializer) .channel(NioServerSocketChannel.class)
.option(ChannelOption.SO_BACKLOG, 1024) //服务端可连接队列数,对应TCP/IP协议listen函数中backlog参数 .childHandler(jt808ChannelInitializer)
.childOption(ChannelOption.TCP_NODELAY, true)//立即写出 .option(ChannelOption.SO_BACKLOG, 1024) //服务端可连接队列数,对应TCP/IP协议listen函数中backlog参数
.childOption(ChannelOption.SO_KEEPALIVE, true);//长连接 .childOption(ChannelOption.TCP_NODELAY, true)//立即写出
ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.SIMPLE);//内存泄漏检测 开发推荐PARANOID 线上SIMPLE .childOption(ChannelOption.SO_KEEPALIVE, true);//长连接
ChannelFuture channelFuture = serverBootstrap.bind(port).sync(); ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.SIMPLE);//内存泄漏检测 开发推荐PARANOID 线上SIMPLE
if (channelFuture.isSuccess()) { ChannelFuture channelFuture = serverBootstrap.bind(port).sync();
log.info("定位TCP服务启动完毕,port={}", this.port); if (channelFuture.isSuccess()) {
log.info("定位TCP服务启动完毕,port={}", this.port);
}
} catch (Exception e) {
log.error("定位TCP服务启动异常,port={}", this.port);
} }
} }