How to establish connection throught NAT?
Scenery is as below:
1. Anna, the Edge peer, is launched in LAN with ip 192.168.3.2:9712;
2. Jack, the RDV peer, is arranged in WAN with a public ip 202.118.110.110:9710;
3. Router's LAN port ip is 192.168.3.1, WAN port ip is 202.118.110.1;
performance:
1. Jack recieved Anna's request, and showed that Anna has connected;
2. Jack showed errors:
Warnning : task of type [net.jxta.impl.endpoint.netty.NettyMessenger$1] still running after 20,969ms in thread JxtaWorker-4, current stack:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(Unknown Source)
java.util.concurrent.CountDownLatch.await(Unknown Source)
net.jxta.endpoint.MessengerStateBarrier.awaitMatch(MessengerStateBarrier.java:59)
net.jxta.endpoint.AbstractMessenger.waitState(AbstractMessenger.java:245)
net.jxta.impl.endpoint.EndpointServiceImpl.getMessenger(EndpointServiceImpl.java:2044)
net.jxta.impl.rendezvous.PeerConnection.getCachedMessenger(PeerConnection.java:329)
net.jxta.impl.rendezvous.rdv.ClientConnection.connect(ClientConnection.java:98)
net.jxta.impl.rendezvous.rdv.RdvPeerRdvService.addClient(RdvPeerRdvService.java:507)
net.jxta.impl.rendezvous.rdv.RdvPeerRdvService.processLeaseRequest(RdvPeerRdvService.java:652)
net.jxta.impl.rendezvous.rdv.RdvPeerRdvService.access$200(RdvPeerRdvService.java:115)
net.jxta.impl.rendezvous.rdv.RdvPeerRdvService$StdRdvRdvProtocolListener.processIncomingMessage(RdvPeerRdvService.java:254)
net.jxta.impl.endpoint.EndpointServiceImpl.processIncomingMessage(EndpointServiceImpl.java:1027)
net.jxta.impl.endpoint.netty.NettyMessenger$1.run(NettyMessenger.java:148)
net.jxta.impl.util.threads.RunnableAsCallableWrapper.call(RunnableAsCallableWrapper.java:17)
net.jxta.impl.util.threads.RunMetricsWrapper.call(RunMetricsWrapper.java:50)
net.jxta.impl.util.threads.QueueTimeRunMetricsWrapper.call(QueueTimeRunMetricsWrapper.java:34)
net.jxta.impl.util.threads.RunMetricsWrapper.run(RunMetricsWrapper.java:93)
net.jxta.impl.util.threads.QueueTimeRunMetricsWrapper.run(QueueTimeRunMetricsWrapper.java:9)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
3. Anna did not connect with Jack;
i think there may be some mistakes in configuring NAT parameters. i am puzzled in the NAT configuration.
Any one can help? many thx!




