From: Eddie Date: Sun, 3 May 2015 10:33:20 +0000 (+0100) Subject: Added UDP listener X-Git-Url: https://iam.tj/gitweb/gitweb.cgi?p=WeStealzYourDataz.git;a=commitdiff_plain;h=28cbecbb0297fc83ea788c60dffcd6f102a99d50 Added UDP listener --- diff --git a/src/uk/ac/ntu/n0521366/wsyd/server/ServerSocial.java b/src/uk/ac/ntu/n0521366/wsyd/server/ServerSocial.java index b4d65ee..0867364 100644 --- a/src/uk/ac/ntu/n0521366/wsyd/server/ServerSocial.java +++ b/src/uk/ac/ntu/n0521366/wsyd/server/ServerSocial.java @@ -61,6 +61,7 @@ import uk.ac.ntu.n0521366.wsyd.libs.net.NetworkMessageEvent; import uk.ac.ntu.n0521366.wsyd.libs.net.NetworkServerUDPMulticast; import uk.ac.ntu.n0521366.wsyd.libs.net.WSYD_SocketAddress; import uk.ac.ntu.n0521366.wsyd.libs.net.NetworkMessageEventListener; +import uk.ac.ntu.n0521366.wsyd.libs.net.NetworkServerUDP; /** * The main Social Network server. @@ -125,6 +126,11 @@ public final class ServerSocial implements NetworkMessageEventListener { NetworkServerUDPMulticast _multicastServer; Timer _multicastAnnounce; + + WSYD_SocketAddress _udpServerSA; + + NetworkServerUDP _udpServer; + /** * Default constructor. @@ -147,6 +153,11 @@ public final class ServerSocial implements NetworkMessageEventListener { _multicastServer.addNetworkMessageEventListener(this, "Neighbour"); _multicastServer.execute(); + _udpServerSA = new WSYD_SocketAddress(Network.IPv4_WILDCARD, Network.PORTS_CLIENT_CONTROL_FIRST, WSYD_SocketAddress.Protocol.UDP); + _udpServer = new NetworkServerUDP(_udpServerSA, "ServerSocial", LOGGER); + _udpServer.addNetworkMessageEventListener(this, "Control"); + _udpServer.execute(); + ActionListener multicastAnnounceActionListener = new ActionListener() { /** * Activated by timer events to send multi-cast neighbour announcements for the Log Service. @@ -193,7 +204,7 @@ public final class ServerSocial implements NetworkMessageEventListener { // TODO: start() create TCP listener // TODO: start() create UDP Multicast group listener and broadcast adverts // wait for connections - int loopCount = 10; + int loopCount = 200; while (!ServerSocial.exitRequested && ! ServerSocial.restartRequested) { Thread.sleep(1000); // wait a second System.out.println("start() loop " + loopCount); @@ -208,8 +219,9 @@ public final class ServerSocial implements NetworkMessageEventListener { { //TODO: Do something }*/ - _multicastServer.cancel(true); _multicastAnnounce.stop(); + _multicastServer.cancel(true); + _udpServer.cancel(true); result = writeMembers(_membersFile); @@ -382,12 +394,14 @@ public final class ServerSocial implements NetworkMessageEventListener { @Override public void NetworkMessageReceived(NetworkMessageEvent event) { + System.err.println("Packet received."); //TODO: NetworkMessageReceived: Handle Messages NetworkMessage nm = event.getNetworkMessage(); if (nm == null) return; //Exit or Restart? - if ("Neighbour".equals(nm.getIntent())) + System.err.println(nm.getIntent()); + if ("Control".equals(nm.getIntent())) { String type = nm.getMessage().getMessageType(); if (type.equals(MessageServerControl.getType())) { // ServerControl