ServerListener.java
Go to the documentation of this file.
1 package p2pserver;
2 
3 import java.net.DatagramPacket;
4 import java.net.DatagramSocket;
5 import java.net.InetAddress;
6 
14 public class ServerListener{
15 
16  public static boolean DBG = true;
17 
18  private static DatagramSocket socket;
19  private static byte[] buf;
20  private static DatagramPacket packet;
21 
22 
26  public ServerListener(){}
27 
28 
35  public static void main(String[] args)
36  {
37 
38  if(args.length<2)
39  {
40  if(DBG) p2putility.Util.logServer("Missing argument/s: [port] [debug]");
41  return;
42  }
43 
44  int lport = 0;
45  try
46  {
47  lport = Integer.parseInt(args[0]);
48  DBG = Boolean.parseBoolean(args[1]);
49  }
50  catch(Exception e)
51  {
52  if(DBG) p2putility.Util.logServer("Error in argument.");
53  return;
54  }
55 
56  try
57  {
58  socket = new DatagramSocket(lport); // (xxxx) porta a cui connettersi
59  buf = new byte[256];
60  packet = new DatagramPacket(buf, buf.length);
61  }
62  catch(Exception ex)
63  {
64  if(DBG) p2putility.Util.logServer("SERVER error!"+ex);
65  return;
66  }
67 
68  if(DBG) p2putility.Util.logServer("Server started...");
69 
70  while(true)
71  {
72  try
73  {
74  socket.receive(packet);
75 
76  InetAddress address = InetAddress.getByName(new String(packet.getData()));
77 
78  int port = packet.getPort();
79 
80  if(DBG) p2putility.Util.logServer("Request from "+address+" port "+port);
81 
82  buf = InetAddress.getLocalHost().getHostAddress().getBytes();
83 
84  socket.send(new DatagramPacket(buf, buf.length, address, port));
85 
86  }
87  catch (Exception ex){
88  if(DBG) p2putility.Util.logServer("Server (UDP) listener error:"+ex);
89  /* Show must go on */
90  }
91  }
92  }
93 }
Classe che implementa metodi vari di utilita&#39; generale.
Definition: Util.java:14
Classe che implementa un server in ascolto su una porta configurabile in attesa di pacchetti UDP (qua...
static DatagramPacket packet
static void main(String[] args)
[Vedi descrizione della classe]
static DatagramSocket socket
ServerListener()
Costruttore.
static void logServer(String data)
Scrive i dati in input sul file di log del Server (se questo esiste valido)
Definition: Util.java:110