Netty Connection тайм-аут: нет дополнительной информации - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь обнаружить проблемы соединения между хостом и клиентом в Java с использованием Netty.Кажется, моя проблема проста, но я ничего не смог найти, потому что, когда я пытаюсь исправить ошибку в Google, возникает проблема с Minecraft.

Моя проблема заключается в обнаружении неправильных IP-адресов, сбитых серверов.Например:

Я хочу подключиться 192.168.1.1 (я создал этот ip), но сервер мертв.Нетти пытается соединить его между 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 голосов
/ 05 октября 2018

Решено

Добавление этой строки под clientBootstrap решено для меня

    clientBootstrap.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 1000);
...