コード例 #1
0
 public WebSocketServerHandler(Dispatcher <ConnectionContext <CH>, string> dispatcher, IJsonMarshaller marshaller,
                               ILogger logger, IWebSocketServerHandlers <CH> handlers = null)
 {
     _handlers   = handlers;
     _dispatcher = dispatcher;
     _logger     = logger;
     _marshaller = marshaller;
 }
コード例 #2
0
        public WebSocketServerGeneric(string endpoint, IJsonMarshaller marshaller, ILogger logger,
                                      IWebSocketServerHandlers <C> handlers = null)
        {
            this._endpoint = endpoint;
            bool secured;

            if (endpoint.StartsWith("ws://"))
            {
                secured = false;
            }
            else
            if (endpoint.StartsWith("wss://"))
            {
                secured = true;
            }
            else
            {
                throw new Exception("Endpoint for a websocket server must start with ws:// or ws://");
            }

            var pathStart = endpoint.IndexOf('/', secured ? 6 : 5);

            _endpoint = endpoint.Substring(0, pathStart);
            _path     = endpoint.Substring(pathStart);
            if (string.IsNullOrEmpty(_path))
            {
                _path = "/";
            }

            logger.Logf(LogLevel.Trace, "WebSocketServer: Endpoint " + _endpoint);
            logger.Logf(LogLevel.Trace, "WebSocketServer: Path " + _path);

            _marshaller = marshaller;
            _logger     = logger;
            _started    = false;
            _dispatcher = new Dispatcher <ConnectionContext <C>, string>();
            _wss        = new WebSocketSharp.Server.WebSocketServer(_endpoint);
            // wss.Log.Level = WebSocketSharp.LogLevel.Debug;
            _wss.AddWebSocketService <WebSocketServerHandler <C> >(_path,
                                                                   () => new WebSocketServerHandler <C>(_dispatcher, marshaller, logger, handlers));
        }
コード例 #3
0
 public WebSocketServer(string endpoint, IJsonMarshaller marshaller, ILogger logger,
                        IWebSocketServerHandlers <object> handlers = null) : base(endpoint, marshaller, logger, handlers)
 {
 }