Ejemplo n.º 1
0
/*
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;
                     
       
    }
}
Ejemplo n.º 2
0
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();
        }
    }
}