All pastes #635301 Raw Edit

Someone

public cpp v1 · immutable
#635301 ·published 2007-07-26 23:52 UTC
rendered paste body
	char buf[2000];	DataHolder DataForServer;	DataHolder DataForClient;	while(true)	{		// Get the data from the client to the server		while(true)		{			ret = recv(contoclient.socket, buf, sizeof(buf), 0);			if(ret == SOCKET_ERROR)			{				ret = WSAGetLastError();				if(ret != WSAEWOULDBLOCK)					throw ZStarsLib::CException("ConToClient error (recv)");				break;			}			else			{				DataForServer.bb.append(buf, ret);			}		}		// Send the pending data to the server		while(DataForServer.bb.length())		{			ret = send(contoserver.socket, DataForServer.bb.contents(), 				DataForServer.bb.length(), 0);			if(ret == SOCKET_ERROR)			{				ret = WSAGetLastError();				if(ret != WSAEWOULDBLOCK)					throw ZStarsLib::CException("ConToServer error (send)");				Sleep(5);			}			else			{				ByteBuffer bb;				char * data = DataForServer.bb.contents();				data += ret;				if(DataForServer.bb.length() - ret)					bb.append(data, DataForServer.bb.length() - ret);				DataForServer.bb = bb;			}		}		// Get the data from the server to the client		while(true)		{			ret = recv(contoserver.socket, buf, sizeof(buf), 0);			if(ret == SOCKET_ERROR)			{				ret = WSAGetLastError();				if(ret != WSAEWOULDBLOCK)					throw ZStarsLib::CException("ConToServer error (recv)");				break;			}			else			{				DataForClient.bb.append(buf, ret);			}		}		// Send the pending data to the client		while(DataForClient.bb.length())		{			ret = send(contoclient.socket, DataForClient.bb.contents(), 				DataForClient.bb.length(), 0);			if(ret == SOCKET_ERROR)			{				ret = WSAGetLastError();				if(ret != WSAEWOULDBLOCK)					throw ZStarsLib::CException("ConToClient error (send)");				Sleep(5);			}			else			{				ByteBuffer bb;				char * data = DataForClient.bb.contents();				data += ret;				if(DataForClient.bb.length() - ret)					bb.append(data, DataForClient.bb.length() - ret);				DataForClient.bb = bb;			}		}		Sleep(5);	}