public void StartListener(IMessageStorage storage, IMessageParser parser) { bool done = false; UdpClient listener = new UdpClient(_port); IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, _port); try { while (!done) { byte[] bytes = listener.Receive(ref endPoint); if (bytes.Length > MaxMessageLength) { continue; } var rawmessage = Encoding.ASCII.GetString(bytes, 0, bytes.Length); storage.Add(parser.Parse(rawmessage, endPoint.Address)); } } catch (Exception ex) { } finally { listener.Close(); } }
public void StartListener(IMessageStorage storage, IMessageParser parser) { bool done = false; UdpClient listener = new UdpClient(_port); IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, _port); try { while (!done) { byte[] bytes = listener.Receive(ref endPoint); if (bytes.Length > MaxMessageLength) continue; var rawmessage = Encoding.ASCII.GetString(bytes, 0, bytes.Length); storage.Add(parser.Parse(rawmessage, endPoint.Address)); } } catch (Exception ex) { } finally { listener.Close(); } }
protected override async Task ExecuteAsync(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested) { var message = new Message { Text = $"{DateTime.Now}" }; messageStorage.Add(message); await hub.Clients.All.ReceiveMessage(message); await Task.Delay(1000, stoppingToken); } }
public override async Task OnConnectedAsync() { try { await base.OnConnectedAsync(); var request = Context.GetHttpContext().Request; var chatName = request.Query.Keys.Contains("chatName") ? request.Query["chatName"].ToString() : "chatName"; _messageStorage.Add(Context.ConnectionId, chatName); await Groups.AddToGroupAsync(Context.ConnectionId, chatName); } catch (Exception ex) { Console.WriteLine(ex.Message); throw ex; } }
public void Print(string message) { _Storage.Add(message); }