proxy.cpp

来自「通过用SOCKET发包来实现PING命令」· C++ 代码 · 共 77 行

CPP
77
字号
// Proxy.cpp: implementation of the CProxy class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Proxy.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CProxy::CProxy()
{
//	WSADATA WsaData;
//	WORD wsaVer;
//	wsaVer=MAKEWORD(2,0);
	WsaStartupOk=false;
	CanSockProxy=false;
	//ListenPort=LISTENPORT;
//	if(WSAStartup(wsaVer,&WsaData)!=SOCKET_ERROR) 
	if( OpenWSA() )
	{
		WsaStartupOk=true;
	}
}

CProxy::~CProxy()
{
	if(WsaStartupOk)
	{
	  WSACleanup();
	}
}
////////////////////////////////////////////////////////////////////
//
//	WinSock打开记数
//
////////////////////////////////////////////////////////////////////
static	int	WSAOpenFlags=0;
////////////////////////////////////////////////////////////////////
//
//	打开WinSock
//
////////////////////////////////////////////////////////////////////
int	 CProxy::OpenWSA(void)
{
	WSADATA	stWSAData;
	int	Ret;

	if(WSAOpenFlags==0)
	{
		Ret = WSAStartup(0x0202, &stWSAData);
		if(Ret)	
		{
			Ret = WSAStartup(0x0101, &stWSAData);
			if(Ret)	
			{
				return	0;
				}
			}
	}
	WSAOpenFlags++;
	return	1;
}
int CProxy::StartProxy(int listenport)
{
	SocksListenPort=listenport;
	CanSockProxy=true;
//	AfxBeginThread(StartSocksProxy,(LPVOID)NULL);
	return 1;
}


int CProxy::StopProxy()
{
	CanSockProxy=false;
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?