From ec103a571b4a8b6e8cb3e15c9b7330de2776e8ff Mon Sep 17 00:00:00 2001 From: Eddie Date: Mon, 1 Jun 2015 17:58:58 +0100 Subject: [PATCH] Added stream manager and TCP listener --- .../n0521366/wsyd/server/ServerSocial.java | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/uk/ac/ntu/n0521366/wsyd/server/ServerSocial.java b/src/uk/ac/ntu/n0521366/wsyd/server/ServerSocial.java index 673ef46..e5a6aa0 100644 --- a/src/uk/ac/ntu/n0521366/wsyd/server/ServerSocial.java +++ b/src/uk/ac/ntu/n0521366/wsyd/server/ServerSocial.java @@ -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); -- 2.17.1