43 lines
1.3 KiB
Java
43 lines
1.3 KiB
Java
package org.kne.cloud.network.nathole;
|
|
|
|
import java.io.IOException;
|
|
import java.net.BindException;
|
|
import java.net.DatagramPacket;
|
|
import java.net.DatagramSocket;
|
|
import java.net.InetAddress;
|
|
import java.net.InetSocketAddress;
|
|
import java.net.MulticastSocket;
|
|
import java.net.Socket;
|
|
import java.net.SocketAddress;
|
|
import java.net.SocketOption;
|
|
import java.net.SocketOptions;
|
|
import java.nio.channels.SocketChannel;
|
|
import java.util.concurrent.ExecutorService;
|
|
import java.util.concurrent.Executors;
|
|
|
|
public class UDPNatholeTest {
|
|
public static ExecutorService exc=Executors.newCachedThreadPool();
|
|
public static void main(String[] args) throws IOException {
|
|
InetAddress addr=InetAddress.getByName("10.235.16.1");
|
|
for (int i1 = 1024; i1 < 65536; i1++) {
|
|
MulticastSocket ms=new MulticastSocket(i1);
|
|
//ms.setReuseAddress(true);
|
|
ms.setSendBufferSize(65536);
|
|
DatagramPacket fp=new DatagramPacket(new byte[1], 1, addr, 13000);
|
|
ms.send(fp);
|
|
new Thread(()->{
|
|
DatagramPacket rp=new DatagramPacket(new byte[10], 10);
|
|
try {
|
|
ms.receive(rp);
|
|
System.err.println(rp.getAddress());
|
|
System.err.println(rp.getLength());
|
|
System.exit(0);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}).start();
|
|
System.out.println(i1);
|
|
}
|
|
}
|
|
}
|