rendered paste body#include <winsock2.h>#include "cNet.h"WSADATA wsaData;SOCKET m_socket;SOCKET m_backup;sockaddr_in con;SOCKET AcceptSocket;HANDLE _handle;DWORD _tid;LPVOID par;DWORD WINAPI threadfunc(LPVOID param){ char data; gNet->RecvData(&data, 10); return 1;}JSON::JSON(string data){ std::vector <std::string> splt; string argString; data = " " + data; splt = Split("[", data); argString = splt[1]; splt = Split("]", argString); argString = splt[0]; while(argString.size() >= 1) { string firstChar; firstChar = argString[0]; if(strcmp(argString.c_str(), "]")==0) { argString=""; } else if(strcmp(firstChar.c_str(), "\"")==0) { //argstring = splt[0]; splt = Split("\"", argString); args.push_back(splt[0].c_str()); if(argString.size() >= splt[0].size() + 3) argString = argString.substr(splt[0].size() + 3); else argString = ""; } else { splt = Split(",", argString); args.push_back(splt[0].c_str()); argString = argString.substr(splt[0].size() + 1); } }}cNet::cNet(){ // Initialize Winsock. int iResult = WSAStartup( MAKEWORD(2,2), &wsaData ); if ( iResult != NO_ERROR ) printf("Error at WSAStartup()\n"); // Create a socket. m_socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); if ( m_socket == INVALID_SOCKET ) { printf( "Error at socket(): %ld\n", WSAGetLastError() ); WSACleanup(); return; } m_backup = m_socket;}cNet::~cNet(){ WSACleanup();}int cNet::Connect(char *ip,int port){ // Connect to a server. con.sin_family = AF_INET; con.sin_addr.s_addr = inet_addr( ip ); con.sin_port = htons( port ); if ( connect( m_socket, (SOCKADDR*) &con, sizeof(con) ) == SOCKET_ERROR) { MsgBox("Failed to connect.\n", "Failed to connect"); WSACleanup(); return 0; } // Start the socket thread _handle = CreateThread ( 0, // Security attributes 0, // Stack size threadfunc, par, CREATE_SUSPENDED, &_tid); return 1;}int cNet::SendData(char *sendbuf){ return send( m_socket, sendbuf, strlen(sendbuf), 0 );}int cNet::RecvData(char *recvbuf,int size){ int sz = recv( m_socket, recvbuf, size, 0 ); recvbuf[sz] = '\0'; return sz;}void cNet::CloseConnection(){ closesocket(m_socket); m_socket = m_backup;}