代码之家  ›  专栏  ›  技术社区  ›  user8040474

网络连接不工作

  •  0
  • user8040474  · 技术社区  · 6 年前

    我有以下消息来源: https://hastebin.com/ovekebahij.java

    bootstrap.group( eventLoopGroup )
                        .channel( serverSocketChannelClass )
                        .option( ChannelOption.SO_KEEPALIVE, true )
                        .handler( new ChannelInitializer<NioServerSocketChannel>() {
                            @Override
                            protected void initChannel( NioServerSocketChannel nioServerSocketChannel ) throws Exception {
                                callback.onSuccess( preparePipeline( nioServerSocketChannel ) );
                            }
                        });
    

    我不知道为什么,但我的日志告诉我,服务器已成功启动。每次我尝试连接客户端时,它都会说它无法连接。。。有人有主意吗?

    感谢您的每一个贡献。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Norman Maurer    6 年前

    这是因为您的服务器引导方法不阻止套接字,所以在绑定套接字后关闭它。

    您应将代码更改为:

    Channel channel = bootstrap.bind(...).sync().channel();
    ...
    channel.closeFuture().sync()
    

    这将确保该方法仅在套接字关闭后返回。