欢迎光临
我们一直在努力

cmpp connect code sample_移动短信技术

建站超值云服务器,限时71元/月

void CSmsCmpp::EncodeConnect(const long& nSecID,const string& sSrcAddr, const string& sPwd, const string& sUser, BYTE nVer)
{    
    m_smHeader.lCommandLength = 39;
    m_smHeader.lCommandId = CMPP_CONNECT;
    m_smHeader.lSequenceNumber = nSecID;
    EncodeHeader();
    
    string sAuthName;
    if(int(sUser.size())>0) {
        sAuthName = sUser.c_str();
    }
    else {
        sAuthName = sSrcAddr.c_str();
    }
    AppendOct(m_Body,(PBYTE)sAuthName.c_str(),6);

    vector<BYTE> vAuth;
    std::copy(sAuthName.begin(),sAuthName.end(),back_inserter(vAuth));
    for(int i=0;i<9;i++) vAuth.push_back(0x00);
    std::copy(sPwd.begin(),sPwd.end(),back_inserter(vAuth));    
    string sStamp = GetCurTime();
    std::copy(sStamp.begin(),sStamp.end(),back_inserter(vAuth));

    char src[400];    
    memset(src,0,400);
    std::copy(vAuth.begin(),vAuth.end(),src);

    PBYTE temp = new BYTE[17];
    memset(temp,0,17);
    DWORD dwSize;
    CryptMD5Hash((PBYTE)src,int(vAuth.size()),temp,dwSize);    

    ostringstream oss;
    oss<<“发送连接包!”;
    

    AppendOct(m_Body,(PBYTE)temp,16);  //ICP认证码        
    delete[] temp;

    AppendInt(m_Body,nVer);        
    DWORD lTimeStamp = atoi(sStamp.c_str());
    lTimeStamp = htonl(lTimeStamp);
    AppendOct(m_Body,(PBYTE)&lTimeStamp,4);
}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » cmpp connect code sample_移动短信技术
分享到: 更多 (0)

相关推荐

  • 暂无文章