All pastes #809052 Raw Edit

Something

public cpp v1 · immutable
·published 2007-12-08 05:18 UTC
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;}