public void SendOnlineList(ClientHandler client) { List<string> users = new List<string>(onlineUsers.Keys); Packet packet = new Packet(); packet.Flag = Flag.OnlineUserList; packet.Data = users; client.send(packet); }
public void SetChat(ClientHandler client, Packet packet) { ChatMessage msg = (ChatMessage) packet.Data; if (msg.Receiver == "BROADCAST") { foreach (ClientHandler clientHandler in onlineUsers.Values) { clientHandler.send(packet); } } else { ClientHandler clientHandler = onlineUsers[msg.Receiver]; clientHandler.send(packet); client.send(packet); } }
public void handshakeHandler(ClientHandler client, Packet packet) { HandshakeRequest request = (HandshakeRequest) packet.Data; client.Username = request.Username; Packet rePacket = new Packet(); rePacket.Flag = Flag.HandshakeResponse; HandshakeResponse response = new HandshakeResponse(); if (onlineUsers.ContainsKey(client.Username)) { response.Response = Response.INVALIDLOGIN; Console.WriteLine("Invalid login received"); } else { response.Response = Response.OK; AddClient(client); SendOnlineList(client); Console.WriteLine("Client accepted."); } rePacket.Data = response; client.send(rePacket); }