void OnRequestLobbyList(RequestLobbyListPackage dp) { const char lobbySeperator = '|'; const char lobbyEntrySeperator = ';'; string response = string.Empty; for (int i = 0; i < lobbies.Count; i++) { Lobby l = lobbies[i]; string part = l.LobbyId.ToString(); if (l.Members.Count != 0) { part += lobbyEntrySeperator; } int j = 0; foreach (var v in l.Members) { string address = ((IPEndPoint)v.Key.Client.RemoteEndPoint).Address.ToString(); part += address + lobbyEntrySeperator + v.Value.ToString(); if (j != l.Members.Count - 1) { part += lobbyEntrySeperator; } j++; } response += part; if (i != lobbies.Count - 1) { response += lobbySeperator; } } ResponsePackage rp = new ResponsePackage(); rp.ResponseId = dp.Id; rp.ResponseMessage = response; Client.Write(dp.SenderTcpClient, rp); Console.WriteLine("Lobby list sent to " + dp.SenderRemoteIPEndpoint.ToString()); }
void OnRequestLobbyList(RequestLobbyListPackage dp) { const char lobbySeperator = '|'; const char lobbyEntrySeperator = ';'; string response = string.Empty; for(int i = 0; i < lobbies.Count; i++) { Lobby l = lobbies[i]; string part = l.LobbyId.ToString(); if (l.Members.Count != 0) part += lobbyEntrySeperator; int j = 0; foreach (var v in l.Members) { string address = ((IPEndPoint)v.Key.Client.RemoteEndPoint).Address.ToString(); part += address + lobbyEntrySeperator + v.Value.ToString(); if (j != l.Members.Count - 1) part += lobbyEntrySeperator; j++; } response += part; if (i != lobbies.Count - 1) response += lobbySeperator; } ResponsePackage rp = new ResponsePackage(); rp.ResponseId = dp.Id; rp.ResponseMessage = response; Client.Write(dp.SenderTcpClient, rp); Console.WriteLine("Lobby list sent to " + dp.SenderRemoteIPEndpoint.ToString()); }