通过upnp端口映射 可以实现外网访问到当前android设备。当然你的路由需要打开upnp功能
使用下面的方法进行端口映射,这里默认使用7878端口也可以另行设置
private void discoverUPNP() {
int discoveryTiemout = 5000; // 5 secs
try {
System.out.println("Looking for Internet Gateway Device...");
InternetGatewayDevice[] IGDs = InternetGatewayDevice.getDevices(discoveryTiemout);
if (IGDs != null) {
for (int i = 0; i < IGDs.length; i++) {
InternetGatewayDevice testIGD = IGDs[i];
System.out.println("\t\nFound device " +testIGD.getIGDRootDevice().getModelName());
System.out.println("External IP address: " +testIGD.getExternalIPAddress());
Integer natTableSize = testIGD.getNatTableSize() == null ? 0 : testIGD.getNatTableSize();
S