diff --git a/src/edu/nps/moves/dis7/utilities/DisThreadedNetworkInterface.java b/src/edu/nps/moves/dis7/utilities/DisThreadedNetworkInterface.java index e623fbfb5952079a860dc29379e218aad14da601..5b1e25e74058cf44406fe1208d018d9639a166e8 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(); } }