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;
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();
}
/**
_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.
if (loopCount-- == 0)
ServerSocial.exitRequested = true;
}
- /*try
- {
- _multicastServer.serverClose();
- }
- catch (SocketException e)
- {
- //TODO: Do something
- }*/
+
_servicesAnnounce.stop();
_multicastService.cancel(true);
_udpControlService.cancel(true);