Skip to content
Snippets Groups Projects
Select Git revision
  • e6a68f9dc64d2b5bef57c014c4dcb9f5222a696a
  • dev default protected
  • main protected
  • feature/ros-java-integration
4 results

build.gradle

Blame
  • SocketReceive.java 1.28 KiB
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    
    public class SocketReceive {
    
    	public static void main(String[] args) throws UnknownHostException {
    		int portNumber = Integer.parseInt( args[0] );
    		boolean running = true;
    		
    		try ( DatagramSocket socket = new DatagramSocket( portNumber ); ) {
    			while(running) {
    				byte[] buf = new byte[256];
    				
    				// receive request
                    DatagramPacket packet = new DatagramPacket(buf, buf.length);
                    socket.receive(packet);
                    String received = new String(packet.getData(), 0, packet.getLength());
                    
                    System.out.println("Got response at " + timestamp() +  ": " + received);
                    if(received.equals("exit")) {
    					running = false;
    				}
    			}
    		} catch (SocketException e) {
    			System.err.println("Could not bind to port " + portNumber );
    			System.exit(1);
    		} catch (IOException e) {
    			System.err.println("I/O Error");
    			e.printStackTrace();
    			System.exit(2);
    		} 
    	}
    	
    	private static String timestamp() {
    		Calendar cal = Calendar.getInstance();
    		Date currentTime = cal.getTime();
    		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS");
    		return dateFormat.format(currentTime);
    	}
    }