|
@@ -864,64 +864,58 @@ void CSATTCPServer::_TaskProcess(PER_IO_CONTEXT* pIoContext, SATProtocol::Packag
|
|
|
return;
|
|
|
|
|
|
if ( pHeader->protocol == 0xAA ) {
|
|
|
- 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(SATProtocol::DataHeader)+sizeof(SATProtocol::LoginResp);
|
|
|
- byte *pbuff = new byte[len];
|
|
|
- memset(pbuff, 0, len);
|
|
|
- SATProtocol::Package *pSendPak = (SATProtocol::Package *)pbuff;
|
|
|
- pSendPak->header.protocol = 0xAA;
|
|
|
- pSendPak->header.cmd = SATProtocol::CMD_LOGIN;
|
|
|
- pSendPak->header.len = len;
|
|
|
+ switch ( pHeader->cmd )
|
|
|
+ {
|
|
|
+ case SATProtocol::CMD_LOGIN:
|
|
|
+ case SATProtocol::CMD_LOGOUT:
|
|
|
+ {
|
|
|
+
|
|
|
+ SATProtocol::UserInfo *pLogin = (SATProtocol::UserInfo*)pak->buf;
|
|
|
+ bool bRet = CSATExecutor::GetInstance()->Login(pLogin->szUserName, pLogin->szPassword, !pHeader->cmd);
|
|
|
+
|
|
|
+
|
|
|
+ long len = sizeof(SATProtocol::DataHeader)+sizeof(SATProtocol::LoginResp);
|
|
|
+ byte *pbuff = new byte[len];
|
|
|
+ memset(pbuff, 0, len);
|
|
|
+ SATProtocol::Package *pSendPak = (SATProtocol::Package *)pbuff;
|
|
|
+ pSendPak->header.protocol = 0xAA;
|
|
|
+ pSendPak->header.cmd = pHeader->cmd;
|
|
|
+ pSendPak->header.len = len;
|
|
|
#if 0
|
|
|
-
|
|
|
- memcpy(pSendPak->buf, &bRet, sizeof(bool));
|
|
|
+
|
|
|
+ memcpy(pSendPak->buf, &bRet, sizeof(bool));
|
|
|
|
|
|
- char szMessage[MAX_PATH] = {0};
|
|
|
- _stprintf_s(szMessage, _T("登录……"));
|
|
|
- memcpy(pSendPak->buf + sizeof(bool), szMessage, MAX_PATH);
|
|
|
+ char szMessage[MAX_PATH] = {0};
|
|
|
+ _stprintf_s(szMessage, _T("登录……"));
|
|
|
+ memcpy(pSendPak->buf + sizeof(bool), szMessage, MAX_PATH);
|
|
|
#else
|
|
|
- const SATParameters::STLoginResp *pstLoginResp = CSATExecutor::GetInstance()->GetLoginResp();
|
|
|
- SATProtocol::LoginResp *pLoginResp = (SATProtocol::LoginResp*)(pbuff+sizeof(SATProtocol::DataHeader));
|
|
|
- pLoginResp->bStatus = bRet;
|
|
|
- memset(pLoginResp->szMessage, 0, MAX_PATH);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- memcpy(pLoginResp->szMessage, pstLoginResp->strMessage.c_str(), pstLoginResp->strMessage.size());
|
|
|
+ const SATParameters::STLoginResp *pstLoginResp = CSATExecutor::GetInstance()->GetLoginResp();
|
|
|
+ SATProtocol::LoginResp *pLoginResp = (SATProtocol::LoginResp*)(pbuff+sizeof(SATProtocol::DataHeader));
|
|
|
+ pLoginResp->bStatus = bRet;
|
|
|
+ memset(pLoginResp->szMessage, 0, MAX_PATH);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ memcpy(pLoginResp->szMessage, pstLoginResp->strMessage.c_str(), pstLoginResp->strMessage.size());
|
|
|
#endif
|
|
|
+
|
|
|
+ send(pIoContext->m_sockAccept, (const char*)pbuff, len, 0);
|
|
|
|
|
|
-
|
|
|
- send(pIoContext->m_sockAccept, (const char*)pbuff, len, 0);
|
|
|
-
|
|
|
-
|
|
|
- delete []pbuff;
|
|
|
- pbuff = NULL;
|
|
|
- }
|
|
|
- else if ( pHeader->cmd == SATProtocol::CMD_LOGOUT ) {
|
|
|
-
|
|
|
- }
|
|
|
- else if ( pHeader->cmd == SATProtocol::CMD_ADD_DEVICE ) {
|
|
|
-
|
|
|
- }
|
|
|
- else if ( pHeader->cmd == SATProtocol::CMD_DEL_DEVICE ) {
|
|
|
-
|
|
|
- }
|
|
|
- else if ( pHeader->cmd == SATProtocol::CMD_QUERY_DEVICES ) {
|
|
|
-
|
|
|
- }
|
|
|
- else {
|
|
|
-
|
|
|
+
|
|
|
+ delete []pbuff;
|
|
|
+ pbuff = NULL;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case SATProtocol::CMD_ADD_DEVICE:
|
|
|
+ break;
|
|
|
+ case SATProtocol::CMD_DEL_DEVICE:
|
|
|
+ break;
|
|
|
+ case SATProtocol::CMD_QUERY_DEVICES:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
- else if ( pHeader->protocol == 0xAB )
|
|
|
- {
|
|
|
-
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
bool CSATTCPServer::CheckDataHeader(SATProtocol::DataHeader* header)
|