Search in sources :

Example 81 with DatagramSocket

use of java.net.DatagramSocket in project jdk8u_jdk by JetBrains.

the class BadKdc method go0.

public static void go0(String... expected) throws Exception {
    System.setProperty("sun.security.krb5.debug", "true");
    // Idle UDP sockets will trigger a SocketTimeoutException, without it,
    // a PortUnreachableException will be thrown.
    DatagramSocket d1 = null, d2 = null, d3 = null;
    // Make sure KDCs' ports starts with 1 and 2 and 3,
    // useful for checking debug output.
    int p1 = 10000 + new java.util.Random().nextInt(10000);
    int p2 = 20000 + new java.util.Random().nextInt(10000);
    int p3 = 30000 + new java.util.Random().nextInt(10000);
    FileWriter fw = new FileWriter("alternative-krb5.conf");
    fw.write("[libdefaults]\n" + "default_realm = " + OneKDC.REALM + "\n" + "kdc_timeout = " + toReal(2000) + "\n");
    fw.write("[realms]\n" + OneKDC.REALM + " = {\n" + "kdc = " + OneKDC.KDCHOST + ":" + p1 + "\n" + "kdc = " + OneKDC.KDCHOST + ":" + p2 + "\n" + "kdc = " + OneKDC.KDCHOST + ":" + p3 + "\n" + "}\n");
    fw.close();
    System.setProperty("java.security.krb5.conf", "alternative-krb5.conf");
    Config.refresh();
    // Turn on k3 only
    d1 = new DatagramSocket(p1);
    d2 = new DatagramSocket(p2);
    KDC k3 = on(p3);
    test(expected[0]);
    test(expected[1]);
    Config.refresh();
    test(expected[2]);
    // shutdown k3
    k3.terminate();
    d3 = new DatagramSocket(p3);
    d2.close();
    // k2 is on
    on(p2);
    test(expected[3]);
    d1.close();
    // k1 and k2 is on
    on(p1);
    test(expected[4]);
    d3.close();
}
Also used : DatagramSocket(java.net.DatagramSocket)

Example 82 with DatagramSocket

use of java.net.DatagramSocket in project jdk8u_jdk by JetBrains.

the class DatagramTimeout method main.

public static void main(String[] args) throws Exception {
    boolean success = false;
    DatagramSocket sock = new DatagramSocket();
    try {
        DatagramPacket p;
        byte[] buffer = new byte[50];
        p = new DatagramPacket(buffer, buffer.length);
        sock.setSoTimeout(2);
        sock.receive(p);
    } catch (SocketTimeoutException e) {
        success = true;
    } finally {
        sock.close();
    }
    if (!success)
        throw new RuntimeException("Socket timeout failure.");
}
Also used : SocketTimeoutException(java.net.SocketTimeoutException) DatagramSocket(java.net.DatagramSocket) DatagramPacket(java.net.DatagramPacket)

Example 83 with DatagramSocket

use of java.net.DatagramSocket in project jdk8u_jdk by JetBrains.

the class LocalSocketAddress method main.

public static void main(String[] args) throws SocketException {
    InetAddress IPv6LoopbackAddr = null;
    DatagramSocket soc = null;
    try {
        List<NetworkInterface> nics = Collections.list(NetworkInterface.getNetworkInterfaces());
        for (NetworkInterface nic : nics) {
            if (!nic.isLoopback())
                continue;
            List<InetAddress> addrs = Collections.list(nic.getInetAddresses());
            for (InetAddress addr : addrs) {
                if (addr instanceof Inet6Address) {
                    IPv6LoopbackAddr = addr;
                    break;
                }
            }
        }
        if (IPv6LoopbackAddr == null) {
            System.out.println("IPv6 is not available, exiting test.");
            return;
        }
        soc = new DatagramSocket(0, IPv6LoopbackAddr);
        if (!IPv6LoopbackAddr.equals(soc.getLocalAddress())) {
            throw new RuntimeException("Bound address is " + soc.getLocalAddress() + ", but should be " + IPv6LoopbackAddr);
        }
    } finally {
        if (soc != null) {
            soc.close();
        }
    }
}
Also used : DatagramSocket(java.net.DatagramSocket) NetworkInterface(java.net.NetworkInterface) Inet6Address(java.net.Inet6Address) InetAddress(java.net.InetAddress)

Example 84 with DatagramSocket

use of java.net.DatagramSocket in project jdk8u_jdk by JetBrains.

the class PortUnreachable method execute.

void execute() throws Exception {
    // pick a port for the server
    DatagramSocket sock2 = new DatagramSocket();
    serverPort = sock2.getLocalPort();
    // send a burst of packets to the unbound port - we should get back
    // icmp port unreachable messages
    //
    InetAddress addr = InetAddress.getLocalHost();
    byte[] b = "Hello me".getBytes();
    DatagramPacket packet = new DatagramPacket(b, b.length, addr, serverPort);
    //close just before sending
    sock2.close();
    for (int i = 0; i < 100; i++) clientSock.send(packet);
    serverSend();
    // try to receive
    b = new byte[25];
    packet = new DatagramPacket(b, b.length, addr, serverPort);
    clientSock.setSoTimeout(10000);
    clientSock.receive(packet);
    System.out.println("client received data packet " + new String(packet.getData()));
    // done
    clientSock.close();
}
Also used : DatagramSocket(java.net.DatagramSocket) DatagramPacket(java.net.DatagramPacket) InetAddress(java.net.InetAddress)

Example 85 with DatagramSocket

use of java.net.DatagramSocket in project jdk8u_jdk by JetBrains.

the class SendSize method main.

public static void main(String[] args) throws Exception {
    DatagramSocket serverSocket = new DatagramSocket();
    new ServerThread(serverSocket).start();
    new ClientThread(serverSocket.getLocalPort()).start();
}
Also used : DatagramSocket(java.net.DatagramSocket)

Aggregations

DatagramSocket (java.net.DatagramSocket)294 DatagramPacket (java.net.DatagramPacket)137 IOException (java.io.IOException)112 SocketException (java.net.SocketException)74 InetAddress (java.net.InetAddress)63 InetSocketAddress (java.net.InetSocketAddress)46 UnknownHostException (java.net.UnknownHostException)33 Test (org.junit.Test)27 SocketTimeoutException (java.net.SocketTimeoutException)24 InterruptedIOException (java.io.InterruptedIOException)18 PortUnreachableException (java.net.PortUnreachableException)18 ServerSocket (java.net.ServerSocket)18 BindException (java.net.BindException)16 IllegalBlockingModeException (java.nio.channels.IllegalBlockingModeException)16 DatagramChannel (java.nio.channels.DatagramChannel)14 MockEndpoint (org.apache.camel.component.mock.MockEndpoint)11 MulticastSocket (java.net.MulticastSocket)10 SocketAddress (java.net.SocketAddress)9 ByteBuffer (java.nio.ByteBuffer)8 ArrayList (java.util.ArrayList)6