/* PURPOSE Calls the ParsePkt function to parse a command and displays the output in user readable format */ void Parser(void *data) { Payload *payloadBfr = NULL; /* Payload Buffer to store command detail */ for(;;) { if(payloadBfr == NULL) payloadBfr = Allocate(); ParsePkt((void *)payloadBfr); /* Check if there is any invalid command */ if(payloadBfr->cmdType > MaxCommands) { continue; } #if 0 /* Send an ack to the command */ payloadBfr->dataPart.regionNum = payloadBfr->cmdType; payloadBfr->cmdType = Ack; payloadBfr->dataLength = AckLen; #endif SendDispatcherQ(payloadBfr); payloadBfr = NULL; } }
void MdApiImpl::OnDataReceived(CSocketHandle* pSH, const BYTE* pbData, DWORD dwCount, const SockAddrIn& addr) { ASSERT(pSH == m_SockClient); (pSH); if (dwCount > 20) { //SetStatusTxt(_T("登录成功"),1); ParsePkt(pbData, dwCount, addr); } else { if (!memcmp(bHBeatPkt, pbData, 6)) { SendHBeatPkt(); } } }