public AvailableRoom[] GetAvailableRooms() { socket.Send(Encoding.UTF8.GetBytes(ChatExchange.Encode(LoginToken, ChatExchangeType.ChatRoomList, ChatExchangeTarget.Server, "", "", ""))); byte[] receiveBuffer = new byte[1024 * 8]; int receiveSize = socket.Receive(receiveBuffer); RoomListExchange exchange = RoomListExchange.Decode(receiveBuffer, receiveSize); List <AvailableRoom> rooms = exchange.Rooms; return(rooms.ToArray()); }
public void ChatRoomListHandler(ChatExchange chatExchange, User user) { RemoveEmptyTempRooms(); List <AvailableRoom> availableRooms = new List <AvailableRoom>(); foreach (ChatRoom room in chatRooms) { availableRooms.Add(room.GetAvailableRoom()); } string encoded = RoomListExchange.Encode(availableRooms); byte[] sendBuffer = Encoding.UTF8.GetBytes(encoded); user.Connection.Connection.Send(sendBuffer); }