package MV3500Cohort2018JulySeptember.homework3; import java.io.*; import java.net.*; /** * An example of receiving UDP packets. Since very often both the * sender and receiver are on the same host we use different ports * for each. This prevents complaints from the localhost. * * @author mcgredo */ public class Jackson_UdpReceiver { /** socket parameter of interest */ public static final int SENDING_PORT = 1414; /** socket parameter of interest */ public static final int RECEIVING_PORT = 1415; /** socket parameter of interest */ public static final String DESINATION_HOST = "localhost"; /** * @param args command-line arguments */ public static void main(String[] args) { try { System.out.println("UdpReceiver started..."); // Create a UDP socket DatagramSocket udpSocket = new DatagramSocket(RECEIVING_PORT); // You need a new receiving packet to read from every packet received while (true) { byte[] receiveBuffer = new byte[15000]; DatagramPacket receivePacket = new DatagramPacket(receiveBuffer, receiveBuffer.length); udpSocket.receive(receivePacket); // Decode the contents by extracting the data from the packet ByteArrayInputStream bais = new ByteArrayInputStream(receivePacket.getData()); DataInputStream dis = new DataInputStream(bais); // What happens if you read an integer? Two double values? *** String first = dis.readUTF(); // alternatives: readFloat(); readInt(); dis.readUTF(); //String second = dis.readUTF(); System.out.println(first);// + " second value: " + second); } } catch(IOException e) { System.out.println("Problem with UdpReceiver, see exception trace:"); System.out.println(e); } } }