From 74cb81b5f7c4ea7595dac294bba5b384545cd512 Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Fri, 3 Apr 2015 13:59:26 -0700 Subject: [PATCH] Fixed timeout bug in setCONN and strengthened test for setCONN. --- Java/src/XPlaneConnect.java | 6 ++++-- Java/src/test/XPlaneConnectTest.java | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Java/src/XPlaneConnect.java b/Java/src/XPlaneConnect.java index 9d14bc9..a8dfb92 100644 --- a/Java/src/XPlaneConnect.java +++ b/Java/src/XPlaneConnect.java @@ -579,11 +579,13 @@ public class XPlaneConnect implements AutoCloseable ByteArrayOutputStream os = new ByteArrayOutputStream(); os.write("CONN".getBytes(StandardCharsets.UTF_8)); os.write(0xFF); //Placeholder for message length - os.write((byte)recvPort); - os.write((byte)(recvPort >> 8)); + os.write((byte) recvPort); + os.write((byte) (recvPort >> 8)); sendUDP(os.toByteArray()); + int soTimeout = socket.getSoTimeout(); socket.close(); socket = new DatagramSocket(recvPort); + socket.setSoTimeout(soTimeout); } } diff --git a/Java/src/test/XPlaneConnectTest.java b/Java/src/test/XPlaneConnectTest.java index 276b802..defc80c 100644 --- a/Java/src/test/XPlaneConnectTest.java +++ b/Java/src/test/XPlaneConnectTest.java @@ -467,6 +467,8 @@ public class XPlaneConnectTest xpc.setCONN(p); assertEquals(p, xpc.getRecvPort()); + result = xpc.requestDREF(dref); + assertEquals(1, result.length); } }