private async Task UpdateUsersTask(Socket clientSocket) { while (clientSocket.Connected) { List <string> usernames = connectedClients.Keys.OrderBy(username => username).ToList(); UsersPacket usersPacket = new UsersPacket(usernames); await TrySendObject(usersPacket, clientSocket); await Task.Delay(5000); } }
public IPacket HandlePacket(byte[] buffer) { IPacket packet = null; if (buffer.Length > 0) { try { if (buffer[0] == (byte)PacketType.User) { packet = UsersPacket.FromByte(buffer); } else if (buffer[0] == (byte)PacketType.Message) { } } catch { } } return(packet); }