MPGC/include/Packet.h
OusmBlueNinja e4117b60ef Yeaaaa
2025-04-03 17:22:17 -05:00

41 lines
754 B
C++

#ifndef PACKET_H
#define PACKET_H
#include <string>
#include <cstdint>
#include <vector>
#include <winsock2.h>
#include <ws2tcpip.h>
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