Finished moving packet handling to Packet class

This commit is contained in:
dawidg81 2026-03-10 17:41:31 +01:00
commit 0e464d509e

View file

@ -28,23 +28,25 @@ public:
class Packet { class Packet {
public: public:
void recvPlayerId(SOCKET socket){ Player* recvPlayerId(SOCKET socket){
char buffer[131] = {}; char buffer[131] = {};
int bytesRecv = recv(socket, buffer, sizeof(buffer), 0); int bytesRecv = recv(socket, buffer, sizeof(buffer), 0);
if(bytesRecv <= 0){ if(bytesRecv <= 0){
log.err("No bytes received"); log.err("No bytes received");
closesocket(socket); closesocket(socket);
return nullptr;
} }
uint8_t packID = buffer[0]; // uint8_t packID = buffer[0];
uint8_t protVer = buffer[1]; // uint8_t protVer = buffer[1];
string username; username.assign(buffer + 2, 64); string username; username.assign(buffer + 2, 64);
username.erase(username.find_first_of("\0 \t\r\n", 0, 6)); username.erase(username.find_first_of("\0 \t\r\n", 0, 6));
string verKey; verKey.assign(buffer + 66, 64); string verKey; verKey.assign(buffer + 66, 64);
uint8_t unused = buffer[130]; uint8_t unused = buffer[130];
log.info(username + " connected"); log.info(username + " connected");
return new Player(username, verKey, false);
} }
void sendServerId(SOCKET socket, string name, string motd, char utype){ void sendServerId(SOCKET socket, string name, string motd, char utype){
@ -79,38 +81,15 @@ int main() {
if(clientSocket == INVALID_SOCKET) continue; if(clientSocket == INVALID_SOCKET) continue;
// Receive player identification // Receive player identification
/* Player* player = pack.recvPlayerId(clientSocket);
char buffer[131] = {}; if(player == nullptr){
int bytesRecv = recv(clientSocket, buffer, sizeof(buffer), 0);
if(bytesRecv <= 0){
log.err("No bytes received");
closesocket(clientSocket);
continue; 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) // send server identification (using the same buffer)
Player player(username, verKey, false); string name = "MCC Testing";
string motd = "Welcome, " + player->username + "!";
string name, motd; char utype = player->isOP ? 0x64 : 0x00;
char utype;
name = "MCC Testing";
motd = "Welcome, " + player.username + "!";
if(player.isOP == true) utype = 0x64;
else utype = 0x00;
pack.sendServerId(clientSocket, name, motd, utype); pack.sendServerId(clientSocket, name, motd, utype);