Added stream manager and TCP listener
authorEddie <dev@fun2be.me>
Mon, 1 Jun 2015 16:58:58 +0000 (17:58 +0100)
committerEddie <dev@fun2be.me>
Mon, 1 Jun 2015 16:58:58 +0000 (17:58 +0100)
src/uk/ac/ntu/n0521366/wsyd/server/ServerSocial.java

index 673ef46..e5a6aa0 100644 (file)
@@ -62,7 +62,11 @@ 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.NetworkServerTCP;
 import uk.ac.ntu.n0521366.wsyd.libs.net.NetworkServerUDP;
+import uk.ac.ntu.n0521366.wsyd.libs.net.NetworkSocketClosing;
+import uk.ac.ntu.n0521366.wsyd.libs.net.NetworkStream;
+import uk.ac.ntu.n0521366.wsyd.libs.net.NetworkStreamManager;
 import uk.ac.ntu.n0521366.wsyd.libs.net.ServiceAddressMap;
 import uk.ac.ntu.n0521366.wsyd.libs.net.ServiceAddressMap.LastSeenHost;
 
@@ -143,18 +147,30 @@ public final class ServerSocial implements NetworkMessageEventListener {
     WSYD_SocketAddress _udpControlServiceSA;
     
     NetworkServerUDP _udpControlService;
+    
+    WSYD_SocketAddress _tcpListeningServiceSA;
+    
+    NetworkServerTCP _tcpListeningService;
+    
+    NetworkStreamManager _tcpStreamManager;
    
 
     /**
+     * 
      * Default constructor.
      */
     public ServerSocial() {
         String[] className = this.getClass().getName().split("\\.");
         LOGGER = Logger.getLogger(className[className.length - 1]);
         LOGGER.setLevel(Level.ALL);
+        if (LOGGER.getParent() != null) {
+            LOGGER.getParent().setLevel(Level.ALL);
+            System.out.println("Parent Logger level " + LOGGER.getParent().getLevel().toString());
+        }
         _serviceToAddressMap = new ServiceAddressMap(_title, LOGGER);
         readMembers(_membersFile);
         _membersOnline = new ArrayList<>();
+        _tcpStreamManager = new NetworkStreamManager();
     }
     
     /**
@@ -173,6 +189,11 @@ public final class ServerSocial implements NetworkMessageEventListener {
         _udpControlService.addNetworkMessageEventListener(this, "Control");
         _udpControlService.execute();
         
+        _tcpListeningServiceSA = new WSYD_SocketAddress(Network.IPv4_WILDCARD, Network.PORTS_SERVER_SOCIAL, WSYD_SocketAddress.Protocol.TCP);
+        _tcpListeningService = new NetworkServerTCP(_tcpListeningServiceSA, _title + "Listener", _serviceToAddressMap, _tcpStreamManager, LOGGER);
+        _tcpListeningService.addNetworkMessageEventListener(this, "ServerSocial");
+        _tcpListeningService.execute();
+        
         ActionListener servicesAnnounceActionListener = new ActionListener() {
             /**
              * Activated by timer events to send multi-cast neighbour announcements and other regular notifications.
@@ -241,14 +262,7 @@ public final class ServerSocial implements NetworkMessageEventListener {
             if (loopCount-- == 0)
                 ServerSocial.exitRequested = true;
         }
-        /*try
-        {
-            _multicastServer.serverClose();
-        }
-        catch (SocketException e)
-        {
-            //TODO: Do something
-        }*/
+
         _servicesAnnounce.stop();
         _multicastService.cancel(true);
         _udpControlService.cancel(true);