Finished moving packet handling to Packet class
This commit is contained in:
parent
7ac25f8cc0
commit
0e464d509e
1 changed files with 10 additions and 31 deletions
41
src/main.cpp
41
src/main.cpp
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue