Java Netty UDT рандеву не работает

1

Я тестирую модифицированную версию этого примера, используя netty + udt + rendezvous: http://netty.io/4.0/xref/io/netty/example/udt/echo/rendezvous/package-summary.html

Я начал экземпляр как на моем сервере, так и на моей локальной машине, где "self" -host является локальным хостом с обеих сторон, а "peer" -host - это имя хоста другого. Таким образом, A связывается с localhost и соединяется с B и B, связывается с localhost и соединяется с A.

В локальной сети все работает нормально, но не тогда, когда я подключаю свой компьютер, который находится за брандмауэром (маршрутизатор fritzbox) и мой сервер. (Сервер не блокирует порт). В этом случае происходит тайм-аут:

С обеих сторон я вижу:

 java -jar out/artifacts/LearningJavaAgain_jar/LearningJavaAgain.jar <host_name>                                               
Jul 31, 2014 3:23:34 PM io.netty.handler.logging.LoggingHandler channelRegistered
INFORMATION: [id: 0xdd7790d7] REGISTERED
Jul 31, 2014 3:23:34 PM io.netty.handler.logging.LoggingHandler connect
INFORMATION: [id: 0xdd7790d7] CONNECT(xx.xxx.xxx.xxx:5555, localhost/127.0.0.1:5555)
Jul 31, 2014 3:24:04 PM io.netty.handler.logging.LoggingHandler close
INFORMATION: [id: 0xdd7790d7] CLOSE()
Exception in thread "main" io.netty.channel.ConnectTimeoutException: connection timed out: xx.xxx.xxx.xxx:5555
        at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:214)
        at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38)
        at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:123)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
        at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 3:24:04 PM io.netty.handler.logging.LoggingHandler channelUnregistered
INFORMATION: [id: 0xdd7790d7] UNREGISTERED

Я думал, что нетти + удт делает дырку дырочкой, не так ли?

Теги:
netty
nat
fritzbox
udp-data-transfer

1 ответ

1

Неважно. Конечно, вы должны использовать 0.0.0.0 вместо localhost при подключении с другого компьютера. Надеюсь, это поможет и другим людям. Теперь он отлично работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню