Example #1
0
        public override async Task OnConnected(WebSocket socket)
        {
            await base.OnConnected(socket);

            var socketId = WebSocketConnectionManager.GetId(socket);
            //await SendMessageToAllAsync($"{socketId} is now connected");
            var msg = new MessageInfo()
            {
                Sender = "Server", Receiver = socketId, Type = "connected"
            };

            await SendMessageAsync(socket, JsonConvert.SerializeObject(msg));
        }
Example #2
0
 public override async Task OnDisconnected(WebSocket socket)
 {
     try
     {
         var    socketId = WebSocketConnectionManager.GetId(socket);
         var    key      = _clients.FirstOrDefault(t => t.Value == socketId).Key;
         string client;
         _clients.TryRemove(key, out client);
         _logger.LogInformation($"{client} has Disconnected");
         await base.OnDisconnected(socket);
     }
     catch (Exception)
     {
     }
 }
Example #3
0
        public override async Task ReceiveAsync(WebSocket socket, WebSocketReceiveResult result, byte[] buffer)
        {
            var socketId = WebSocketConnectionManager.GetId(socket);
            //var message = $"{socketId} said: {Encoding.UTF8.GetString(buffer, 0, result.Count)}";
            var json = Encoding.UTF8.GetString(buffer, 0, result.Count);
            var msg  = await Task.Run(() => JsonConvert.DeserializeObject <MessageInfo>(json));

            if (msg.Type == "client")
            {
                //var uri = new Uri(msg.Message);
                var validation = msg.Message.Length == 36;
                var clientId   = msg.Message;
                _clients.TryAdd(clientId, msg.Sender);
            }

            //await SendMessageToAllAsync(message);
            //throw new NotImplementedException();
        }
Example #4
0
 public WebSocketHandler(WebSocketConnectionManager webSocketConnectionManager)
 {
     WebSocketConnectionManager = webSocketConnectionManager;
 }
Example #5
0
 public LoginMessageHandler(WebSocketConnectionManager webSocketConnectionManager, ILoggerFactory loggerFactory) : base(webSocketConnectionManager)
 {
     _logger = loggerFactory.CreateLogger <LoginMessageHandler>();
 }