From 5a50df79a8e5170c674661d4c4805c2e832cdd8a Mon Sep 17 00:00:00 2001 From: Don Brutzman <brutzman@nps.edu> Date: Mon, 31 Aug 2020 09:18:00 -0700 Subject: [PATCH] force DataOutputStream flush() after send --- .../moves/dis7/utilities/DisThreadedNetworkInterface.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/edu/nps/moves/dis7/utilities/DisThreadedNetworkInterface.java b/src/edu/nps/moves/dis7/utilities/DisThreadedNetworkInterface.java index e623fbfb59..5b1e25e740 100644 --- a/src/edu/nps/moves/dis7/utilities/DisThreadedNetworkInterface.java +++ b/src/edu/nps/moves/dis7/utilities/DisThreadedNetworkInterface.java @@ -281,9 +281,9 @@ public class DisThreadedNetworkInterface Pdu pdu; // The capacity could go up to MAX_DIS_PDU_SIZE, but this should be good for now - ByteArrayOutputStream baos = new ByteArrayOutputStream(MAX_TRANSMISSION_UNIT_SIZE); - DataOutputStream dos = new DataOutputStream(baos); - DatagramPacket packet = new DatagramPacket(baos.toByteArray(), baos.size(), group); + ByteArrayOutputStream baos = new ByteArrayOutputStream(MAX_TRANSMISSION_UNIT_SIZE); + DataOutputStream dos = new DataOutputStream(baos); + DatagramPacket packet = new DatagramPacket(baos.toByteArray(), baos.size(), group); while (!killed) { // keep trying on error try { @@ -294,6 +294,7 @@ public class DisThreadedNetworkInterface packet.setData(baos.toByteArray()); socket.send(packet); + dos.flush(); // immediately force pdu write baos.reset(); } } -- GitLab