#ifndef PACKET_H #define PACKET_H #include #include #include #include #include enum PacketType : uint8_t { HEARTBEAT = 1, JOIN, DISCONNECT, MOVE, CHAT, PLAYER_UPDATE, SCORE_UPDATE, GAME_START, GAME_END, PING, PONG, AUTH_REQUEST, AUTH_RESPONSE, PACKET_MAX }; struct Packet { PacketType type; std::string data; }; uint32_t to_network_uint32(uint32_t host); uint32_t from_network_uint32(uint32_t net); bool send_all(SOCKET sock, const char *data, size_t len); bool recv_all(SOCKET sock, char *buffer, size_t len); bool sendPacket(SOCKET sock, const Packet &packet); bool receivePacket(SOCKET sock, Packet &packet); #endif // PACKET_H