public RealTimeWSMiddleware(
     RequestDelegate next,
     WSConnectionManager wSConnectionManager,
     WSHandler wsHandler)
 {
     _next = next;
     _wSConnectionManager = wSConnectionManager;
     _wsHanlder           = wsHandler;
 }
        public WebsocketServer(IParamsWSServer parameters,
                               WebsocketHandler handler = null,
                               WSConnectionManager connectionManager = null)
        {
            _parameters        = parameters;
            _connectionManager = connectionManager ?? new WSConnectionManager();

            _handler = handler ?? new WebsocketHandler(_parameters);
            _handler.ConnectionEvent += OnConnectionEventAsync;
            _handler.MessageEvent    += OnMessageEventAsync;
            _handler.ErrorEvent      += OnErrorEventAsync;
            _handler.ServerEvent     += OnServerEventAsync;
        }
        public WebsocketServer(IParamsWSServer parameters,
                               byte[] certificate,
                               string certificatePassword,
                               WebsocketHandler handler = null,
                               WSConnectionManager connectionManager = null)
        {
            _parameters        = parameters;
            _connectionManager = connectionManager ?? new WSConnectionManager();

            _handler = handler ?? new WebsocketHandler(_parameters, certificate, certificatePassword);
            _handler.ConnectionEvent += OnConnectionEventAsync;
            _handler.MessageEvent    += OnMessageEventAsync;
            _handler.ErrorEvent      += OnErrorEventAsync;
            _handler.ServerEvent     += OnServerEventAsync;
        }