diff --git a/src/edu/nps/moves/dis7/examples/EspduReceiverNIO.java b/src/edu/nps/moves/dis7/examples/EspduReceiverNIO.java index f8cb0f51d56137da94c9a4552f375565d33e6a1a..5fa310440a0deadd56221353eca2674b32681ddd 100644 --- a/src/edu/nps/moves/dis7/examples/EspduReceiverNIO.java +++ b/src/edu/nps/moves/dis7/examples/EspduReceiverNIO.java @@ -6,6 +6,7 @@ package edu.nps.moves.dis7.examples; import edu.nps.moves.dis7.Pdu; import edu.nps.moves.dis7.utilities.PduFactory; +import java.io.IOException; import java.net.DatagramPacket; import java.net.InetAddress; import java.net.MulticastSocket; @@ -30,10 +31,13 @@ public class EspduReceiverNIO public static void main(String args[]) { MulticastSocket socket; - DatagramPacket packet; InetAddress address; PduFactory pduFactory = new PduFactory(); - + byte buffer[] = new byte[MAX_PDU_SIZE]; + DatagramPacket packet = new DatagramPacket(buffer, buffer.length); + ByteBuffer byteBuffer; + Pdu pdu; + try { // Specify the socket to receive data socket = new MulticastSocket(EspduSender.DIS_DESTINATION_PORT); @@ -43,22 +47,20 @@ public class EspduReceiverNIO // Loop infinitely, receiving datagrams while (true) { - byte buffer[] = new byte[MAX_PDU_SIZE]; - packet = new DatagramPacket(buffer, buffer.length); - + socket.receive(packet); // Uses the NIO byte buffer class--wrap a ByteBuffer instance around // the data we get from the packet - ByteBuffer byteBuffer = ByteBuffer.wrap(packet.getData()); - Pdu pdu = pduFactory.createPdu(byteBuffer); + byteBuffer = ByteBuffer.wrap(packet.getData()); + pdu = pduFactory.createPdu(byteBuffer); System.out.println("got PDU of type: " + pdu.getClass().getSimpleName()); } // end while } // End try - catch (Exception e) { - System.out.println(e); + catch (IOException e) { + System.err.println(e); } } // end main