| 123456789101112131415161718192021222324252627282930313233343536373839404142 | import java.net.InetAddress;import java.net.UnknownHostException;import java.nio.ByteBuffer;import fr.free.miniupnp.libnatpmp.NatPmp;import fr.free.miniupnp.libnatpmp.NatPmpResponse;class JavaTest {    public static void main(String[] args) {	NatPmp natpmp = new NatPmp();        natpmp.sendPublicAddressRequest();        NatPmpResponse response = new NatPmpResponse();        int result = -1;        do{            result = natpmp.readNatPmpResponseOrRetry(response);	    try {		Thread.sleep(4000);	    } catch (InterruptedException e) {		//fallthrough	    }        } while (result != 0);	byte[] bytes = intToByteArray(response.addr);	try {	    InetAddress inetAddress = InetAddress.getByAddress(bytes);	    System.out.println("Public address is " + inetAddress);	} catch (UnknownHostException e) {	    throw new RuntimeException(e);	}    }    public static final byte[] intToByteArray(int value) {        return new byte[] {            (byte)value,            (byte)(value >>> 8),            (byte)(value >>> 16),            (byte)(value >>> 24)};    }}
 |