|  | @@ -767,11 +767,11 @@ void CSATTCPServer::_ShowMessage(const CString szFormat,...) const
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -#define PAK_LEN sizeof(DataHeader)
 | 
	
		
			
				|  |  | +#define PAK_LEN sizeof(SATProtocol::DataHeader)
 | 
	
		
			
				|  |  |  void CSATTCPServer::_RecvProcess(PER_SOCKET_CONTEXT* pSocketContext, PER_IO_CONTEXT* pIoContext)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	// 小于包头;
 | 
	
		
			
				|  |  | -	DataHeader* phead = NULL;
 | 
	
		
			
				|  |  | +	SATProtocol::DataHeader* phead = NULL;
 | 
	
		
			
				|  |  |  	if (pSocketContext->lastData.size() == 0)
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		// 不足包头;
 | 
	
	
		
			
				|  | @@ -783,13 +783,13 @@ void CSATTCPServer::_RecvProcess(PER_SOCKET_CONTEXT* pSocketContext, PER_IO_CONT
 | 
	
		
			
				|  |  |  		else
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			// 包头充足;
 | 
	
		
			
				|  |  | -			phead = (DataHeader*)pIoContext->m_wsaBuf.buf;
 | 
	
		
			
				|  |  | +			phead = (SATProtocol::DataHeader*)pIoContext->m_wsaBuf.buf;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			// 完整的包;
 | 
	
		
			
				|  |  |  			if (phead->len == pIoContext->m_Overlapped.InternalHigh)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  |  				OutputDebugString("A:完整的包;\n");
 | 
	
		
			
				|  |  | -				_TaskProcess(pIoContext, (Package*)pIoContext->m_wsaBuf.buf);
 | 
	
		
			
				|  |  | +				_TaskProcess(pIoContext, (SATProtocol::Package*)pIoContext->m_wsaBuf.buf);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			// 小包;
 | 
	
		
			
				|  |  |  			else if (phead->len > pIoContext->m_Overlapped.InternalHigh)
 | 
	
	
		
			
				|  | @@ -802,7 +802,7 @@ void CSATTCPServer::_RecvProcess(PER_SOCKET_CONTEXT* pSocketContext, PER_IO_CONT
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  |  				OutputDebugString("A:超包;\n");
 | 
	
		
			
				|  |  |  				pSocketContext->lastData.append(pIoContext->m_wsaBuf.buf + phead->len, pIoContext->m_Overlapped.InternalHigh - phead->len);
 | 
	
		
			
				|  |  | -				_TaskProcess(pIoContext, (Package*)pIoContext->m_wsaBuf.buf);
 | 
	
		
			
				|  |  | +				_TaskProcess(pIoContext, (SATProtocol::Package*)pIoContext->m_wsaBuf.buf);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -811,14 +811,14 @@ void CSATTCPServer::_RecvProcess(PER_SOCKET_CONTEXT* pSocketContext, PER_IO_CONT
 | 
	
		
			
				|  |  |  		int lastlen = pIoContext->m_Overlapped.InternalHigh;
 | 
	
		
			
				|  |  |  		if (pSocketContext->lastData.size() >= PAK_LEN)
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  | -			phead = (DataHeader*)pSocketContext->lastData.data();
 | 
	
		
			
				|  |  | +			phead = (SATProtocol::DataHeader*)pSocketContext->lastData.data();
 | 
	
		
			
				|  |  |  			if (phead->len <= pSocketContext->lastData.size() + pIoContext->m_Overlapped.InternalHigh)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  |  				if ( phead->len <= pSocketContext->lastData.size() )
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  |  					OutputDebugString("C:超包;\n");
 | 
	
		
			
				|  |  |  					// 完整包;
 | 
	
		
			
				|  |  | -					_TaskProcess(pIoContext, (Package*)pSocketContext->lastData.substr(0, phead->len).data());
 | 
	
		
			
				|  |  | +					_TaskProcess(pIoContext, (SATProtocol::Package*)pSocketContext->lastData.substr(0, phead->len).data());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  					pSocketContext->lastData = pSocketContext->lastData.substr(phead->len);
 | 
	
		
			
				|  |  |  					pSocketContext->lastData.append(pIoContext->m_wsaBuf.buf, pIoContext->m_Overlapped.InternalHigh);
 | 
	
	
		
			
				|  | @@ -829,7 +829,7 @@ void CSATTCPServer::_RecvProcess(PER_SOCKET_CONTEXT* pSocketContext, PER_IO_CONT
 | 
	
		
			
				|  |  |  					lastlen = pSocketContext->lastData.size() + pIoContext->m_Overlapped.InternalHigh - phead->len;
 | 
	
		
			
				|  |  |  					pSocketContext->lastData.append(pIoContext->m_wsaBuf.buf, pIoContext->m_Overlapped.InternalHigh - lastlen);
 | 
	
		
			
				|  |  |  					// 完整包;
 | 
	
		
			
				|  |  | -					_TaskProcess(pIoContext, (Package*)pSocketContext->lastData.data());
 | 
	
		
			
				|  |  | +					_TaskProcess(pIoContext, (SATProtocol::Package*)pSocketContext->lastData.data());
 | 
	
		
			
				|  |  |  					// 剩余包;
 | 
	
		
			
				|  |  |  					pSocketContext->lastData.clear();
 | 
	
		
			
				|  |  |  					if (lastlen)
 | 
	
	
		
			
				|  | @@ -856,14 +856,14 @@ void CSATTCPServer::_RecvProcess(PER_SOCKET_CONTEXT* pSocketContext, PER_IO_CONT
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  |  				// 拼成完整包头;
 | 
	
		
			
				|  |  |  				pSocketContext->lastData.append(pIoContext->m_wsaBuf.buf, diflen);
 | 
	
		
			
				|  |  | -				phead = (DataHeader*)pSocketContext->lastData.data();
 | 
	
		
			
				|  |  | +				phead = (SATProtocol::DataHeader*)pSocketContext->lastData.data();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				// 完整包;
 | 
	
		
			
				|  |  |  				if ( phead->len == PAK_LEN + pIoContext->m_Overlapped.InternalHigh - diflen )
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  |  					OutputDebugString("B:完整包;\n");
 | 
	
		
			
				|  |  |  					pSocketContext->lastData.append(pIoContext->m_wsaBuf.buf + diflen, pIoContext->m_Overlapped.InternalHigh - diflen);
 | 
	
		
			
				|  |  | -					_TaskProcess(pIoContext, (Package*)pSocketContext->lastData.data());
 | 
	
		
			
				|  |  | +					_TaskProcess(pIoContext, (SATProtocol::Package*)pSocketContext->lastData.data());
 | 
	
		
			
				|  |  |  					pSocketContext->lastData.clear();
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  				// 小包;
 | 
	
	
		
			
				|  | @@ -878,7 +878,7 @@ void CSATTCPServer::_RecvProcess(PER_SOCKET_CONTEXT* pSocketContext, PER_IO_CONT
 | 
	
		
			
				|  |  |  					OutputDebugString("B:超包;\n");
 | 
	
		
			
				|  |  |  					// 组完成包;
 | 
	
		
			
				|  |  |  					pSocketContext->lastData.append(pIoContext->m_wsaBuf.buf + diflen, phead->len - PAK_LEN);
 | 
	
		
			
				|  |  | -					_TaskProcess(pIoContext, (Package*)pSocketContext->lastData.data());
 | 
	
		
			
				|  |  | +					_TaskProcess(pIoContext, (SATProtocol::Package*)pSocketContext->lastData.data());
 | 
	
		
			
				|  |  |  					pSocketContext->lastData.clear();
 | 
	
		
			
				|  |  |  					int last = pIoContext->m_Overlapped.InternalHigh - diflen - phead->len + PAK_LEN;
 | 
	
		
			
				|  |  |  					if (last)
 | 
	
	
		
			
				|  | @@ -891,42 +891,53 @@ void CSATTCPServer::_RecvProcess(PER_SOCKET_CONTEXT* pSocketContext, PER_IO_CONT
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -void CSATTCPServer::_TaskProcess(PER_IO_CONTEXT* pIoContext, Package* pak)
 | 
	
		
			
				|  |  | +void CSATTCPServer::_TaskProcess(PER_IO_CONTEXT* pIoContext, SATProtocol::Package* pak)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  #ifdef _DEBUG
 | 
	
		
			
				|  |  | -	OutputDebugString("成功获取数据\n");
 | 
	
		
			
				|  |  | +	OutputDebugString("\n########成功获取数据########\n\n");
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  | -	DataHeader *pHeader = &pak->header;
 | 
	
		
			
				|  |  | +	SATProtocol::DataHeader *pHeader = &pak->header;
 | 
	
		
			
				|  |  |  	if ( !pHeader ) 
 | 
	
		
			
				|  |  |  		return;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	if ( pHeader->protocol == 0xAA ) {
 | 
	
		
			
				|  |  | -		if ( pHeader->cmd == CMD_LOGIN ) {// 登录;
 | 
	
		
			
				|  |  | -			TPLogin *pLogin = (TPLogin*)pak->buf;
 | 
	
		
			
				|  |  | +		if ( pHeader->cmd == SATProtocol::CMD_LOGIN ) {// 登录;
 | 
	
		
			
				|  |  | +			SATProtocol::UserInfo *pLogin = (SATProtocol::UserInfo*)pak->buf;
 | 
	
		
			
				|  |  |  			bool bRet = CSATExecutor::GetInstance()->Login(pLogin->szUserName, pLogin->szPassword);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			// 计算数据包长度;
 | 
	
		
			
				|  |  | -			long len = sizeof(DataHeader)+sizeof(TPResponse);
 | 
	
		
			
				|  |  | +			long len = sizeof(SATProtocol::DataHeader)+sizeof(SATProtocol::LoginResp);
 | 
	
		
			
				|  |  |  			byte *pbuff = new byte[len];
 | 
	
		
			
				|  |  | -			Package *pSendPak = (Package *)pbuff;
 | 
	
		
			
				|  |  | +			SATProtocol::Package *pSendPak = (SATProtocol::Package *)pbuff;
 | 
	
		
			
				|  |  |  			pSendPak->header.protocol = 0xAA;
 | 
	
		
			
				|  |  | -			pSendPak->header.cmd = CMD_LOGIN;
 | 
	
		
			
				|  |  | +			pSendPak->header.cmd = SATProtocol::CMD_LOGIN;
 | 
	
		
			
				|  |  |  			pSendPak->header.len = len;
 | 
	
		
			
				|  |  | +#if 0
 | 
	
		
			
				|  |  |  			// 复制内容到指针中;
 | 
	
		
			
				|  |  |  			memcpy(pSendPak->buf, &bRet, sizeof(bool));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -			int ret = send(pIoContext->m_sockAccept, (const char*)pbuff, len, 0);
 | 
	
		
			
				|  |  | +			char szMessage[MAX_PATH] = {0};
 | 
	
		
			
				|  |  | +			_stprintf_s(szMessage, _T("登录……"));
 | 
	
		
			
				|  |  | +			memcpy(pSendPak->buf + sizeof(bool), szMessage, MAX_PATH);
 | 
	
		
			
				|  |  | +#else
 | 
	
		
			
				|  |  | +			SATProtocol::LoginResp *pLoginResp = (SATProtocol::LoginResp*)(pbuff+sizeof(SATProtocol::DataHeader));
 | 
	
		
			
				|  |  | +			pLoginResp->bStatus = bRet;
 | 
	
		
			
				|  |  | +			_stprintf_s(pLoginResp->szMessage, _T("登录描述……"));
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			// 发送,无须判断是否发送成功;
 | 
	
		
			
				|  |  | +			send(pIoContext->m_sockAccept, (const char*)pbuff, len, 0);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		else if ( pHeader->cmd == CMD_LOGOUT ) {// 登出;
 | 
	
		
			
				|  |  | +		else if ( pHeader->cmd == SATProtocol::CMD_LOGOUT ) {// 登出;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		else if ( pHeader->cmd == CMD_ADD_DEVICE ) {// 添加设备;
 | 
	
		
			
				|  |  | +		else if ( pHeader->cmd == SATProtocol::CMD_ADD_DEVICE ) {// 添加设备;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		else if ( pHeader->cmd == CMD_DEL_DEVICE ) {// 删除设备;
 | 
	
		
			
				|  |  | +		else if ( pHeader->cmd == SATProtocol::CMD_DEL_DEVICE ) {// 删除设备;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		else if ( pHeader->cmd == CMD_QUERY_DEVICES ) {// 查询设备;
 | 
	
		
			
				|  |  | +		else if ( pHeader->cmd == SATProtocol::CMD_QUERY_DEVICES ) {// 查询设备;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		else {// 无效指令;
 |