From 0e464d509eed5581a6e6eef36b40065c17b9b2e8 Mon Sep 17 00:00:00 2001 From: dawidg81 Date: Tue, 10 Mar 2026 17:41:31 +0100 Subject: [PATCH] Finished moving packet handling to Packet class --- src/main.cpp | 41 ++++++++++------------------------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 18c569c..d0be28d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -28,23 +28,25 @@ public: class Packet { public: - void recvPlayerId(SOCKET socket){ + Player* recvPlayerId(SOCKET socket){ char buffer[131] = {}; int bytesRecv = recv(socket, buffer, sizeof(buffer), 0); if(bytesRecv <= 0){ log.err("No bytes received"); closesocket(socket); + return nullptr; } - uint8_t packID = buffer[0]; - uint8_t protVer = buffer[1]; + // uint8_t packID = buffer[0]; + // uint8_t protVer = buffer[1]; string username; username.assign(buffer + 2, 64); username.erase(username.find_first_of("\0 \t\r\n", 0, 6)); string verKey; verKey.assign(buffer + 66, 64); uint8_t unused = buffer[130]; log.info(username + " connected"); + return new Player(username, verKey, false); } void sendServerId(SOCKET socket, string name, string motd, char utype){ @@ -79,38 +81,15 @@ int main() { if(clientSocket == INVALID_SOCKET) continue; // Receive player identification - /* - char buffer[131] = {}; - int bytesRecv = recv(clientSocket, buffer, sizeof(buffer), 0); - - if(bytesRecv <= 0){ - log.err("No bytes received"); - closesocket(clientSocket); + Player* player = pack.recvPlayerId(clientSocket); + if(player == nullptr){ continue; } - uint8_t packID = buffer[0]; - uint8_t protVer = buffer[1]; - string username; username.assign(buffer + 2, 64); - username.erase(username.find_first_of("\0 \t\r\n", 0, 6)); - string verKey; verKey.assign(buffer + 66, 64); - uint8_t unused = buffer[130]; - - Player player(username, verKey, false); - - log.info(username + " connected"); - */ - // send server identification (using the same buffer) - Player player(username, verKey, false); - - string name, motd; - char utype; - - name = "MCC Testing"; - motd = "Welcome, " + player.username + "!"; - if(player.isOP == true) utype = 0x64; - else utype = 0x00; + string name = "MCC Testing"; + string motd = "Welcome, " + player->username + "!"; + char utype = player->isOP ? 0x64 : 0x00; pack.sendServerId(clientSocket, name, motd, utype);