#pragma comment(lib, "ws2_32.lib")
#pragma warning(disable : 4996)
DWORD RecvData(char** DataBuffer) {
WSAStartup(MAKEWORD(2, 2), &wsaData);
ConnectSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin_addr.s_addr = inet_addr("192.168.0.109");
clientService.sin_port = htons(4444);
struct timeval timeout = { 3,0 };
int ret = setsockopt(ConnectSocket, SOL_SOCKET, SO_RCVTIMEO, (const char*)&timeout, sizeof(timeout));
char* bufferReceivedBytes = new char[2000000];
iResult = connect(ConnectSocket, (SOCKADDR*)&clientService, sizeof(clientService));
} while (iResult == SOCKET_ERROR);
RecvBytes = recv(ConnectSocket, bufferReceivedBytes, 4096, NULL);
iResult = closesocket(ConnectSocket);
*DataBuffer = bufferReceivedBytes;