|  | @@ -7,8 +7,8 @@ const int SOCK_TCP = SOCK_STREAM - 1;
 | 
	
		
			
				|  |  |  const int SOCK_UDP = SOCK_DGRAM - 1;
 | 
	
		
			
				|  |  |  const int AF_IPV4 = 0;
 | 
	
		
			
				|  |  |  const int AF_IPV6 = 1;
 | 
	
		
			
				|  |  | -#define PAK_LEN sizeof(DataHeader)
 | 
	
		
			
				|  |  | -#define HEADER_LEN sizeof(DataHeader)
 | 
	
		
			
				|  |  | +#define PAK_LEN sizeof(SATProtocol::DataHeader)
 | 
	
		
			
				|  |  | +#define HEADER_LEN sizeof(SATProtocol::DataHeader)
 | 
	
		
			
				|  |  |  // 쏵똑係;
 | 
	
		
			
				|  |  |  CDlgProBar* g_pDlgProBar = NULL;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -27,6 +27,8 @@ void CSATClient::OnThreadExit(CSocketHandle* pSH)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	ASSERT(pSH == m_SocketClient);
 | 
	
		
			
				|  |  |  	DeleteCriticalSection(&pSH->m_hClient2SrvSection);
 | 
	
		
			
				|  |  | +	m_bSocket = FALSE;
 | 
	
		
			
				|  |  | +	TRACE(_T("======窟넋藁놔.\r\n"));
 | 
	
		
			
				|  |  |  	(pSH);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -93,7 +95,7 @@ bool CSATClient::OnSend(const byte* pData, int nLen)
 | 
	
		
			
				|  |  |  bool CSATClient::OnReceive(const byte* pData, int nLen)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	// 鬼黨관庫;
 | 
	
		
			
				|  |  | -	DataHeader* phead = NULL;
 | 
	
		
			
				|  |  | +	SATProtocol::DataHeader* phead = NULL;
 | 
	
		
			
				|  |  |  	if (lastData.size() == 0)
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		// 꼇璃관庫;
 | 
	
	
		
			
				|  | @@ -105,13 +107,13 @@ bool CSATClient::OnReceive(const byte* pData, int nLen)
 | 
	
		
			
				|  |  |  		else
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			// 관庫념璃;
 | 
	
		
			
				|  |  | -			phead = (DataHeader*)pData;
 | 
	
		
			
				|  |  | +			phead = (SATProtocol::DataHeader*)pData;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			// 供憐돨관;
 | 
	
		
			
				|  |  |  			if (phead->len == nLen)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  |  				OutputDebugString("A:供憐돨관;\n");
 | 
	
		
			
				|  |  | -				TaskProcess((Package*)pData);
 | 
	
		
			
				|  |  | +				TaskProcess((SATProtocol::Package*)pData);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			// 鬼관;
 | 
	
		
			
				|  |  |  			else if (phead->len > nLen)
 | 
	
	
		
			
				|  | @@ -124,7 +126,7 @@ bool CSATClient::OnReceive(const byte* pData, int nLen)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  |  				OutputDebugString("A:낚관;\n");
 | 
	
		
			
				|  |  |  				lastData.append((char*)pData + phead->len, nLen - phead->len);
 | 
	
		
			
				|  |  | -				TaskProcess((Package*)pData);
 | 
	
		
			
				|  |  | +				TaskProcess((SATProtocol::Package*)pData);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -133,14 +135,14 @@ bool CSATClient::OnReceive(const byte* pData, int nLen)
 | 
	
		
			
				|  |  |  		int lastlen = nLen;
 | 
	
		
			
				|  |  |  		if (lastData.size() >= PAK_LEN)
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  | -			phead = (DataHeader*)lastData.data();
 | 
	
		
			
				|  |  | +			phead = (SATProtocol::DataHeader*)lastData.data();
 | 
	
		
			
				|  |  |  			if (phead->len <= lastData.size() + nLen)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  |  				if (phead->len <= lastData.size())
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  |  					OutputDebugString("C:낚관;\n");
 | 
	
		
			
				|  |  |  					// 供憐관;
 | 
	
		
			
				|  |  | -					TaskProcess((Package*)lastData.substr(0, phead->len).data());
 | 
	
		
			
				|  |  | +					TaskProcess((SATProtocol::Package*)lastData.substr(0, phead->len).data());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  					lastData = lastData.substr(phead->len);
 | 
	
		
			
				|  |  |  					lastData.append((char*)pData, nLen);
 | 
	
	
		
			
				|  | @@ -151,7 +153,7 @@ bool CSATClient::OnReceive(const byte* pData, int nLen)
 | 
	
		
			
				|  |  |  					lastlen = lastData.size() + nLen - phead->len;
 | 
	
		
			
				|  |  |  					lastData.append((char*)pData, nLen - lastlen);
 | 
	
		
			
				|  |  |  					// 供憐관;
 | 
	
		
			
				|  |  | -					TaskProcess((Package*)lastData.data());
 | 
	
		
			
				|  |  | +					TaskProcess((SATProtocol::Package*)lastData.data());
 | 
	
		
			
				|  |  |  					// 假岱관;
 | 
	
		
			
				|  |  |  					lastData.clear();
 | 
	
		
			
				|  |  |  					if (lastlen)
 | 
	
	
		
			
				|  | @@ -178,14 +180,14 @@ bool CSATClient::OnReceive(const byte* pData, int nLen)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  |  				// 틈냥供憐관庫;
 | 
	
		
			
				|  |  |  				lastData.append((char*)pData, diflen);
 | 
	
		
			
				|  |  | -				phead = (DataHeader*)lastData.data();
 | 
	
		
			
				|  |  | +				phead = (SATProtocol::DataHeader*)lastData.data();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				// 供憐관;
 | 
	
		
			
				|  |  |  				if (phead->len == PAK_LEN + nLen - diflen)
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  |  					OutputDebugString("B:供憐관;\n");
 | 
	
		
			
				|  |  |  					lastData.append((char*)pData + diflen, nLen - diflen);
 | 
	
		
			
				|  |  | -					TaskProcess((Package*)lastData.data());
 | 
	
		
			
				|  |  | +					TaskProcess((SATProtocol::Package*)lastData.data());
 | 
	
		
			
				|  |  |  					lastData.clear();
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  				// 鬼관;
 | 
	
	
		
			
				|  | @@ -200,7 +202,7 @@ bool CSATClient::OnReceive(const byte* pData, int nLen)
 | 
	
		
			
				|  |  |  					OutputDebugString("B:낚관;\n");
 | 
	
		
			
				|  |  |  					// 莉供냥관;
 | 
	
		
			
				|  |  |  					lastData.append((char*)pData + diflen, phead->len - PAK_LEN);
 | 
	
		
			
				|  |  | -					TaskProcess((Package*)lastData.data());
 | 
	
		
			
				|  |  | +					TaskProcess((SATProtocol::Package*)lastData.data());
 | 
	
		
			
				|  |  |  					lastData.clear();
 | 
	
		
			
				|  |  |  					int last = nLen - diflen - phead->len + PAK_LEN;
 | 
	
		
			
				|  |  |  					if (last)
 | 
	
	
		
			
				|  | @@ -225,11 +227,14 @@ bool CSATClient::OnConnect()
 | 
	
		
			
				|  |  |  	return false;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -void CSATClient::TaskProcess(Package* pak)
 | 
	
		
			
				|  |  | +void CSATClient::TaskProcess(SATProtocol::Package* pak)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -	DataHeader* pHeader = &pak->header;
 | 
	
		
			
				|  |  | +	SATProtocol::DataHeader* pHeader = &pak->header;
 | 
	
		
			
				|  |  |  	if (pHeader->protocol == 0xAA) {
 | 
	
		
			
				|  |  | -		Sleep(20000);
 | 
	
		
			
				|  |  | +#ifdef _DEBUG
 | 
	
		
			
				|  |  | +		// 儺낀속潼움鞫刻珂쇌;
 | 
	
		
			
				|  |  | +		Sleep(15000);
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  |  		if (g_pDlgProBar) {
 | 
	
		
			
				|  |  |  			while (!::IsWindow(g_pDlgProBar->m_hWnd));
 | 
	
		
			
				|  |  |  			g_pDlgProBar->PostMessage(WM_STOPTHREAD);
 | 
	
	
		
			
				|  | @@ -238,18 +243,20 @@ void CSATClient::TaskProcess(Package* pak)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		switch (pHeader->cmd)
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  | -			case CMD_LOGIN:
 | 
	
		
			
				|  |  | +			case SATProtocol::CMD_LOGIN:
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				TPResponse* pRespone = (TPResponse*)pak->buf;
 | 
	
		
			
				|  |  | +				SATProtocol::LoginResp* resp = (SATProtocol::LoginResp*)pak->buf;
 | 
	
		
			
				|  |  | +				SATData::login_resp.bStatus = resp->bStatus;
 | 
	
		
			
				|  |  | +				_stprintf_s(SATData::login_resp.szMessage, _T("%s"), resp->szMessage);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			break;
 | 
	
		
			
				|  |  | -			case CMD_LOGOUT:
 | 
	
		
			
				|  |  | +			case SATProtocol::CMD_LOGOUT:
 | 
	
		
			
				|  |  |  				break;
 | 
	
		
			
				|  |  | -			case CMD_ADD_DEVICE:
 | 
	
		
			
				|  |  | +			case SATProtocol::CMD_ADD_DEVICE:
 | 
	
		
			
				|  |  |  				break;
 | 
	
		
			
				|  |  | -			case CMD_DEL_DEVICE:
 | 
	
		
			
				|  |  | +			case SATProtocol::CMD_DEL_DEVICE:
 | 
	
		
			
				|  |  |  				break;
 | 
	
		
			
				|  |  | -			case CMD_QUERY_DEVICES:
 | 
	
		
			
				|  |  | +			case SATProtocol::CMD_QUERY_DEVICES:
 | 
	
		
			
				|  |  |  				break;
 | 
	
		
			
				|  |  |  			default:
 | 
	
		
			
				|  |  |  				break;
 | 
	
	
		
			
				|  | @@ -320,14 +327,18 @@ void CSATClient::GetAddress(const SockAddrIn& addrIn, CString& rString) const
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  bool CSATClient::TCPLogin(std::string strUserName, std::string strPassword)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -	int len = HEADER_LEN + sizeof(TPLogin);
 | 
	
		
			
				|  |  | +	if (!m_bSocket)	Start();
 | 
	
		
			
				|  |  | +	if (!m_bSocket)	return false;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	SATData::login_resp = {0};
 | 
	
		
			
				|  |  | +	int len = HEADER_LEN + sizeof(SATProtocol::UserInfo);
 | 
	
		
			
				|  |  |  	byte* pbuff = new byte[len];
 | 
	
		
			
				|  |  |  	memset(pbuff, 0, len);
 | 
	
		
			
				|  |  | -	Package* pData = (Package*)pbuff;
 | 
	
		
			
				|  |  | +	SATProtocol::Package* pData = (SATProtocol::Package*)pbuff;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	pData->header.protocol = 0xAA;
 | 
	
		
			
				|  |  |  	pData->header.len = len;
 | 
	
		
			
				|  |  | -	pData->header.cmd = CMD_LOGIN;
 | 
	
		
			
				|  |  | +	pData->header.cmd = SATProtocol::CMD_LOGIN;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	memcpy(pData->buf, strUserName.c_str(), strUserName.size());
 | 
	
		
			
				|  |  |  	memcpy(pData->buf + MAX_PATH, strPassword.c_str(), strPassword.size());
 |