public WebSocketServerHandler(Dispatcher <ConnectionContext <CH>, string> dispatcher, IJsonMarshaller marshaller, ILogger logger, IWebSocketServerHandlers <CH> handlers = null) { _handlers = handlers; _dispatcher = dispatcher; _logger = logger; _marshaller = marshaller; }
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)); }
public WebSocketServer(string endpoint, IJsonMarshaller marshaller, ILogger logger, IWebSocketServerHandlers <object> handlers = null) : base(endpoint, marshaller, logger, handlers) { }