Beispiel #1
0
 public WebSocketService(IHostApplicationLifetime applicationLifetime, WebSocket socket,
                         EventManager eventManager,
                         ILogger <WebSocketService> logger, IServiceProvider serviceProvider,
                         CancellationToken cancellationToken = default)
 {
     _eventManager = eventManager;
     _logger       = logger;
     applicationLifetime.ApplicationStopping.Register(Dispose);
     _cancellationToken = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
     _socket            = socket;
     _api = ActivatorUtilities.CreateInstance <WebSocketServiceApi>(serviceProvider, _socket);
     logger.LogInformation(socket is ClientWebSocket ? "已经成功连接上了服务端" : "有新客户端连接了");
 }
Beispiel #2
0
        public WebSocketService(IHostApplicationLifetime applicationLifetime, HttpContext context,
                                EventManager eventManager,
                                ILogger <WebSocketService> logger)
        {
            _eventManager = eventManager;
            _logger       = logger;
            applicationLifetime.ApplicationStopping.Register(Dispose);
            _cancellationToken = CancellationTokenSource.CreateLinkedTokenSource(context.RequestAborted);
            var task = context.WebSockets.AcceptWebSocketAsync();

            task.Wait();
            _socket = task.Result;
            _api    = ActivatorUtilities.CreateInstance <WebSocketServiceApi>(context.RequestServices, _socket);
        }