Advertisement
donut188

UDPServer

Dec 8th, 2013
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.14 KB | None | 0 0
  1. import java.net.*;
  2. import java.util.HashSet;
  3. import java.io.*;
  4.  
  5. public class UDPServer
  6. {
  7.     private static HashSet<Integer> allPorts = new HashSet<Integer>();
  8.     private GUIForServer gfs;
  9.  
  10.     public UDPServer(GUIForServer gfs)
  11.     {
  12.         this.gfs = gfs;
  13.     }
  14.  
  15.     public static void main(String args[]) throws Exception
  16.     {
  17.         int sport = 29841;
  18.  
  19.         if (args.length < 1)
  20.         {
  21.             System.out.println("UDPServer is now on port: " + sport);
  22.         }
  23.         else
  24.         {
  25.             sport = Integer.valueOf(args[0]).intValue();
  26.             System.out.println("UDPServer is now on port: " + sport);
  27.         }
  28.  
  29.         DatagramSocket ds = null;
  30.         ds = new DatagramSocket(sport);
  31.  
  32.  
  33.         System.out.println("The server has started! \n");
  34.  
  35.         while(true)
  36.         {
  37.             byte[] receivedData = new byte[1024];
  38.  
  39.             DatagramPacket dp = new DatagramPacket(receivedData, receivedData.length);
  40.  
  41.             ds.receive(dp);
  42.  
  43.             String messageFromClient = (new String(dp.getData())).trim();
  44.             System.out.println("A client has connected, the IP address and port number of the client is: " + dp.getSocketAddress());
  45.             System.out.println("The message sent from the client was: \"" + messageFromClient + "\"");
  46.             InetAddress ip = dp.getAddress();
  47.             System.out.println("Client IP Address: " + ip + "\n");
  48.             int cport = dp.getPort();
  49.             System.out.println("Adding port number: " + cport);
  50.             allPorts.add(cport);
  51.  
  52.             String message = messageFromClient;
  53.             System.out.println("The message sent from the server was: " + message);
  54.  
  55.             byte[] sentData = new byte[1024];
  56.  
  57.             sentData = message.getBytes();
  58.  
  59.             for(Integer port : allPorts)
  60.             {
  61.  
  62.                 if(port != cport)
  63.                 {
  64.                     DatagramPacket dp1 = new DatagramPacket(sentData, sentData.length, ip, port);
  65.                     System.out.println("The message is sending...");
  66.                     ds.send(dp1);
  67.  
  68.                 }
  69.             }
  70.         }
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement