diff -r 9c3209ff7550 -r 7e9e2f10a050 test/jdk/java/net/DatagramSocket/B6411513.java --- a/test/jdk/java/net/DatagramSocket/B6411513.java Thu Oct 17 20:54:25 2019 +0100 +++ b/test/jdk/java/net/DatagramSocket/B6411513.java Thu Oct 17 21:15:33 2019 +0100 @@ -28,7 +28,10 @@ */ import java.net.*; +import java.nio.ByteBuffer; +import java.nio.channels.DatagramChannel; import java.util.*; +import static java.lang.System.out; public class B6411513 { @@ -47,7 +50,7 @@ // out IPv6 address here. The test should be revisited // later when aforementioned bug gets fixed. if (addr instanceof Inet4Address) { - System.out.printf("%s : %s\n", nic.getName(), addr); + out.printf("%s : %s\n", nic.getName(), addr); testConnectedUDP(addr); } } @@ -65,20 +68,23 @@ try { DatagramSocket s = new DatagramSocket(0, addr); DatagramSocket ss = new DatagramSocket(0, addr); - System.out.print("\tconnect..."); + out.println("localaddress: " + s.getLocalSocketAddress()); + out.println("\tconnect..."); s.connect(ss.getLocalAddress(), ss.getLocalPort()); - System.out.print("disconnect..."); + out.println("localaddress: " + s.getLocalSocketAddress()); + out.println("disconnect..."); s.disconnect(); + out.println("localaddress: " + s.getLocalSocketAddress()); byte[] data = { 0, 1, 2 }; DatagramPacket p = new DatagramPacket(data, data.length, s.getLocalAddress(), s.getLocalPort()); s.setSoTimeout( 10000 ); - System.out.print("send..."); + out.print("send..."); s.send( p ); - System.out.print("recv..."); + out.print("recv..."); s.receive( p ); - System.out.println("OK"); + out.println("OK"); ss.close(); s.close(); @@ -87,4 +93,29 @@ throw e; } } + + // Tests with DatagramChannel +// private static void testConnectedUDPNIO(InetAddress addr) throws Exception { +// DatagramChannel s = DatagramChannel.open(); +// s.bind(new InetSocketAddress(addr, 0)); +// DatagramChannel ss = DatagramChannel.open(); +// ss.bind(new InetSocketAddress(addr, 0)); +// out.println("localaddress: " + s.getLocalAddress()); +// out.println("\tconnect..."); +// s.connect(ss.getLocalAddress()); +// out.println("localaddress: " + s.getLocalAddress()); +// out.println("disconnect..."); +// s.disconnect(); +// out.println("localaddress: " + s.getLocalAddress()); +// +// byte[] data = {0, 1, 2}; +// out.print("send..."); +// s.send(ByteBuffer.wrap(data), s.getLocalAddress()); +// out.print("recv..."); +// s.receive(ByteBuffer.allocate(100)); +// out.println("OK"); +// +// ss.close(); +// s.close(); +// } }