网络连接超时:无更多信息

时间:2018-10-05 07:08:18

标签: java tcp netty

我正在尝试使用Netty在Java中检测主机与客户端之间的连接问题。我的问题似乎很简单,但是我什么也找不到,因为当我在Google中尝试错误时,Minecraft出现了。

我的问题是检测到错误的IP,已关闭的服务器。例如:

我想连接192.168.1.1(我组成了这个IP),但是服务器已死。 Netty尝试在5到10秒及其庞大的时间范围之间建立连接。如何在较短的时间内检测到它?

CLIENT.JAVA

EventLoopGroup group = new NioEventLoopGroup();
        try {
            Bootstrap clientBootstrap = new Bootstrap();

            clientBootstrap.group(group);
            clientBootstrap.channel(NioSocketChannel.class);
            clientBootstrap.remoteAddress(new InetSocketAddress(host.getIp(), host.getPort()));

            clientBootstrap.handler(new ChannelInitializer<SocketChannel>() {
                protected void initChannel(SocketChannel socketChannel) throws Exception {

                    //TODO, TIMEOUT BILGISI ILE DOLDUR BURAYI
                    //socketChannel.pipeline().addLast(new ReadTimeoutHandler(1));
                    //socketChannel.pipeline().addLast("idleStateHandler", new IdleStateHandler(1, 1, 2));

                    socketChannel.pipeline().addLast(new ClientHandler(host,message));
                }
            });

            ChannelFuture channelFuture = clientBootstrap.connect().sync();

            channelFuture.channel().closeFuture().sync();

我想我必须在clientBootstrap.handler中写一些东西,但我不知道。预先感谢

1 个答案:

答案 0 :(得分:0)

已解决

在clientBootstrap下面添加此行为我解决了

static void EventCallBack(nua_event_t   event  ,
            int           status ,
            char const   * phrase ,
            nua_t        * nua ,
            void * Object,
            nua_handle_t * nh ,
            nua_hmagic_t * hmagic ,
            sip_t const  *sip ,
            tagi_t        tags[]) {


switch(event) {

    case nua_i_subscribe:


    //processsing our custom code here

    //After processing the custome code here

     nua_handle_destroy((nua_handle_t *)nh);
}