This commit is contained in:
6arelyFuture 2021-05-11 09:44:27 +02:00
parent 532838ca8e
commit e6808a7703
Signed by: Future
GPG Key ID: FA77F074E98D98A5
2 changed files with 21 additions and 12 deletions

View File

@ -9,7 +9,12 @@ SOCKET sock;
bool startUp()
{
WSADATA wsa_data;
WSAStartup(MAKEWORD(2, 2), &wsa_data);
int wasResult = WSAStartup(MAKEWORD(2, 2), &wsa_data);
if (wasResult != 0)
{
printf("WSAStartup error: %d\n", wasResult);
return false;
}
sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (INVALID_SOCKET == sock)
@ -39,6 +44,7 @@ bool startUp()
DWORD WINAPI recvTh(LPVOID)
{
auto buf = std::make_unique<char[]>(BUF_SIZE);
printf("Started thread\n");
u_long iMode = 1;
ioctlsocket(sock, FIONBIO, &iMode);
@ -50,16 +56,15 @@ DWORD WINAPI recvTh(LPVOID)
// undisclosed step
info.serverName_ptr = 0;
info.rawDataSize = INFO_MAX_DATA;
SecureZeroMemory(&info.rawData, info.rawDataSize);
while (1)
while (TRUE)
{
SecureZeroMemory(buf.get(), BUF_SIZE);
auto len = recvfrom(sock, buf.get(), BUF_SIZE, 0, (SOCKADDR*)&sender, &senderSize);
if (len == SOCKET_ERROR)
{
return -1;
return 1;
}
if (len == sizeof(serverQuery_t))
@ -75,11 +80,8 @@ DWORD WINAPI recvTh(LPVOID)
sendto(sock, (char*)&info, sizeof(serverInfo_t), 0, (SOCKADDR*)&sender, senderSize);
}
}
#ifdef _LINUX
sleep(1000);
#else
Sleep(1);
#endif
}
}
@ -90,5 +92,16 @@ int main(int, char**)
return 1;
}
DWORD dwThreadId;
auto thread = CreateThread(0, 0, recvTh, 0, 0, &dwThreadId);
if (thread == NULL)
{
printf("Error in creating thread\n");
return 1;
}
WaitForSingleObject(thread, INFINITE);
WSACleanup();
return 0;
}

View File

@ -19,10 +19,6 @@
// std includes
#include <string>
#ifdef _LINUX
#include <unistd.h>
#endif
using namespace std::literals;
// c types