implement string int header

This commit is contained in:
Lion Kortlepel 2024-06-23 19:36:09 +02:00
parent 7b733bf8eb
commit 137d9dd1e2
No known key found for this signature in database
GPG Key ID: 4322FF2B4C71259B
2 changed files with 7 additions and 3 deletions

View File

@ -190,7 +190,9 @@ void Parse(std::string Data, SOCKET CSocket) {
break;
}
if (!Data.empty() && CSocket != -1) {
int res = send(CSocket, (Data + "\n").c_str(), int(Data.size()) + 1, 0);
Data = std::to_string(Data.size()) + ">" + Data;
debug("Sending '" + Data + "'");
int res = send(CSocket, Data.c_str(), int(Data.size()), 0);
if (res < 0) {
debug("(Core) send failed with error: " + std::to_string(WSAGetLastError()));
}

View File

@ -63,6 +63,8 @@ void GameSend(std::string_view Data) {
return;
int32_t Size, Temp, Sent;
Size = int32_t(Data.size());
auto SizeStr = std::to_string(Size) + ">";
send(CSocket, SizeStr.c_str(), SizeStr.size(), 0);
Sent = 0;
#ifdef DEBUG
if (Size > 1000) {
@ -78,10 +80,10 @@ void GameSend(std::string_view Data) {
Sent += Temp;
} while (Sent < Size);
// send separately to avoid an allocation for += "\n"
Temp = send(CSocket, "\n", 1, 0);
/*Temp = send(CSocket, "\n", 1, 0);
if (!CheckBytes(Temp)) {
return;
}
}*/
}
void ServerSend(std::string Data, bool Rel) {
if (Terminate || Data.empty())