Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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;
            }
        }
Exemplo n.º 5
0
 public void Print(string message)
 {
     _Storage.Add(message);
 }