#pragma warning restore CS1998 private static async Task MessageReceived(string ipPort, byte[] data) { if (stopReceive) { return; } try { if (!(data != null && data.Length > 0)) { throw new ArgumentNullException("Data is empty."); } if (stopReceive) { throw new Exception("Handling of requests stopped"); } clients[clients.FirstOrDefault(x => x.Key.IpPort == ipPort).Key] = true; byte[] response = requestHandler.HandleRequest(data, out List <User> targets, clients.FirstOrDefault(x => x.Key.IpPort == ipPort).Key); foreach (User user in targets) { User temp = user; if (string.IsNullOrEmpty(user.IpAddress) || user.Port == 0) { temp = clients.FirstOrDefault(x => x.Key.Name.ToLower() == user.Name.ToLower()).Key; } if (temp == null || !await server.SendAsync(temp.IpPort, response)) { log.Add($"Message could not be send to {temp}.", MessageType.Warning); } } clients[clients.FirstOrDefault(x => x.Key.IpPort == ipPort).Key] = false; } catch (Exception ex) { log.Add($"Message of client {ipPort} could not be handled: {Environment.NewLine} {ex.ToString()}", MessageType.Error); } }
private static void ClientBytesRecieved(Client client, Packet packet) { RequestHandler.HandleRequest(client, packet); }