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.
NetworkServerUDPMulticast _multicastServer;
Timer _multicastAnnounce;
+
+ WSYD_SocketAddress _udpServerSA;
+
+ NetworkServerUDP _udpServer;
+
/**
* Default constructor.
_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.
// 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);
{
//TODO: Do something
}*/
- _multicastServer.cancel(true);
_multicastAnnounce.stop();
+ _multicastServer.cancel(true);
+ _udpServer.cancel(true);
result = writeMembers(_membersFile);
@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