コード例 #1
0
        private static void _setupNewSocketServer(RelayNode relayNode, string instanceName, int portNumber, bool useAsyncHandler, ConnectionWhitelist connectionWhitelist, bool whitelistOnly)
        {
            //all public method should lock(_syncRoot) so we should be ok
            SocketServer socketServer = new SocketServer(instanceName, portNumber);

            IMessageHandler messageHandler;

            if (useAsyncHandler)
            {
                messageHandler = new SocketServerAsyncMessageHandler(relayNode, relayNode);
            }
            else
            {
                messageHandler = new SocketServerRelayMessageHandler(relayNode, relayNode);
            }

            socketServer.MessageHandler = messageHandler;
            socketServer.AcceptingConnectionsDelegate = relayNode.AcceptNewRequest;
            socketServer.AcceptingRequestsDelegate    = relayNode.AcceptNewRequest;
            socketServer.WhitelistOnly = whitelistOnly;
            socketServer.Start(connectionWhitelist);

            _socketServer = socketServer;
            if (_cachedWhiteListValue != null)
            {
                _socketServer.WhitelistOnly = _cachedWhiteListValue.Value;
                _cachedWhiteListValue       = null;
            }
        }
コード例 #2
0
		private static void _setupNewSocketServer(RelayNode relayNode, string instanceName, int portNumber, bool useAsyncHandler, ConnectionWhitelist connectionWhitelist, bool whitelistOnly) 
		{
			//all public method should lock(_syncRoot) so we should be ok
			SocketServer socketServer = new SocketServer(instanceName, portNumber);

			IMessageHandler messageHandler;
			if (useAsyncHandler)
			{
				messageHandler = new SocketServerAsyncMessageHandler(relayNode, relayNode);
			}
			else
			{
				messageHandler = new SocketServerRelayMessageHandler(relayNode, relayNode);
			}

			socketServer.MessageHandler = messageHandler;
			socketServer.AcceptingConnectionsDelegate = relayNode.AcceptNewConnection;
			socketServer.WhitelistOnly = whitelistOnly;
			socketServer.Start(connectionWhitelist);

			_socketServer = socketServer;
			if (_cachedWhiteListValue != null)
			{
				_socketServer.WhitelistOnly = _cachedWhiteListValue.Value;
				_cachedWhiteListValue = null;
			}
    	}