piffy

UDP Server (Java)

Aug 8th, 2015
337
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.io.*;
  2. import java.net.*;
  3. /**
  4.  * Programma di echo UDP sulla porta 6666.
  5.  * Termina se si invia la stringa 'Ciao'
  6.  */
  7. public class JavaUDPServer {
  8.    
  9.     public static void main(String args[]) throws Exception
  10.     {
  11.      int inport=6666;
  12.      if (args.length > 0)
  13.            inport = Integer.parseInt(args[1]);
  14.      else
  15.            inport = 6666;
  16.      try
  17.      {
  18.       DatagramSocket serverSocket = new DatagramSocket(inport);
  19.  
  20.       byte[] datiRicevuti;
  21.       byte[] datiInviati;
  22.      
  23.       while(true)
  24.         {
  25.  
  26.           datiRicevuti = new byte[1024];
  27.  
  28.           DatagramPacket receivePacket =
  29.              new DatagramPacket(datiRicevuti, datiRicevuti.length);
  30.  
  31.           System.out.println ("In attesa di un pacchetto sulla porta "+inport);
  32.  
  33.           serverSocket.receive(receivePacket);
  34.  
  35.           String dati = new String(receivePacket.getData());
  36.          
  37.  
  38.           InetAddress IP = receivePacket.getAddress();
  39.  
  40.           int port = receivePacket.getPort();
  41.  
  42.           System.out.println ("Mittente: " + IP + ":" + port);
  43.           System.out.println ("Dati: " + dati);
  44.  
  45.           datiInviati = dati.toUpperCase().getBytes();
  46.  
  47.           DatagramPacket sendPacket =
  48.              new DatagramPacket(datiInviati, datiInviati.length, IP,
  49.                                port);
  50.  
  51.           serverSocket.send(sendPacket);
  52.  
  53.          
  54.         }
  55.  
  56.      }
  57.       catch (SocketException ex) {
  58.         System.out.println("La porta UDP "+inport+" è occupata.");
  59.         System.exit(1);
  60.       }
  61.    
  62.     }
  63. }
RAW Paste Data