Java 如何通过两级路由器进行upnp转发端口
我正在使用JavaSBBI库转发端口。 但是我的路由器连接到了另一个路由器, 因此,第一个路由器的外部ip是 由第二个路由器dhcp提供的ip。 有没有办法在第二台路由器上转发端口? 这是我的密码:Java 如何通过两级路由器进行upnp转发端口,java,networking,port,nat,upnp,Java,Networking,Port,Nat,Upnp,我正在使用JavaSBBI库转发端口。 但是我的路由器连接到了另一个路由器, 因此,第一个路由器的外部ip是 由第二个路由器dhcp提供的ip。 有没有办法在第二台路由器上转发端口? 这是我的密码: InternetGatewayDevice[] devices=InternetGatewayDevice.getDevices( 1000 ); System.out.println("Found "+devices.length+" Devices"); InternetGatewayDevic
InternetGatewayDevice[] devices=InternetGatewayDevice.getDevices( 1000 );
System.out.println("Found "+devices.length+" Devices");
InternetGatewayDevice dev = devices[ 0 ];
System.out.println(dev);
System.out.println( "External IP = " + dev.getExternalIPAddress() );
System.out.println( dev.addPortMapping( "Streamternet", "TCP", null, 1333,
"192.168.0.105", 8888, 0 ) );
System.out.println( "waiting for connection" );
HTTPServer.main(null);
据我所知,这是不可能与您当前的设置,因为您无法访问您的路由器的网关直接 我能想到两种解决方案
希望我能帮上忙。正如@Danpe在他的回答中所说的那样,UPnP不会让您在支持多个NAT时打开端口 由于我也在开发一款P2P软件,从我收集的信息来看,以下是连接两个对等点的方法:
这不是一个选项。。。我正在开发一个软件,我不能告诉我的用户去做。也许你能帮我做这个?你如何确定你的用户有两个路由器,一个接一个?这种特殊情况只发生在高级用户设置中。并非所有软件(包括BitTorrent)都能做到这一点。如果有可能的话,这将是一个巨大的安全问题。我有一个内置路由器的电缆调制解调器,另一个简单的路由器连接到它,我的计算机连接到简单的路由器,但uTorrent仍然以某种方式工作。。。我国许多人都有这种调制解调器,他们更喜欢自己的路由器