• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

CMPP的SUBMIT 包的CODE SAMPLE

发布: 2007-6-23 21:39 | 作者:   | 来源:   | 查看: 16次 | 进入软件测试论坛讨论

领测软件测试网

   

if(int(sLabel.size())<100) return false;
    CPKMsg pkMsg;
    if(!pkMsg.stPK(sLabel,sBody))
    {
        ostringstream oss;

        oss<<"Message is error.Leabel:"<<sLabel<<"Body:"<<sBody;
        gRunInfo.AddInfo(oss.str());
    }
    int nPkNum = int(pkMsg.m_vBody.size());
    for(int i=0;i<nPkNum;i++)
    {
        string sCurBody = pkMsg.m_vBody.at(i);  //要发送的Body,以字符窜显示

        long nSec = SequenceID();
        string sFeeType,sFeeCode,sSrvType;
        sFeeType = pkMsg.sFeeType;
        sFeeCode = pkMsg.sFeeCode;
        sSrvType = pkMsg.sServiceType;
        if(nPkNum>1) {                   //发送的肯定是铃声或图片,这时,只有最后一条是计费的
            if(i<(nPkNum-1)) {
                sFeeType ="01";
                sFeeCode ="0";
                if(pkMsg.sArea =="BJ") {sSrvType = "BZ";}
                else {sSrvType = "MF";}
            }
        }
        vector<BYTE> vCur;
        pkMsg.gtPKBody(i,vCur);   //获得当前要发送的内容,可以是二进制
        CSmsCmpp smCmpp(m_bAdd86);
        
        smCmpp.EncodeSubmit(nSec,
            1,
            1,
            pkMsg.nMsgMode,
            9,
            sSrvType,
            pkMsg.nFeeUserType,
            pkMsg.sFeeAddr,
            pkMsg.nMsgFmt,
            m_sSPID,
            sFeeType,
            sFeeCode,
            pkMsg.sOrgAddr,
            pkMsg.sDestAddr,
            vCur);
        m_DataSend.Write(smCmpp.GetPackage());
        
        if(pkMsg.nMsgMode==2) {
            Monitor(2,pkMsg.sOrgAddr,pkMsg.sDestAddr,pkMsg.nMsgFmt,int(strlen(sCurBody.c_str())),sCurBody);        
            m_nCount.SmcQueueAdd();
        }
        else {
            Monitor(1,pkMsg.sOrgAddr,pkMsg.sDestAddr,pkMsg.nMsgFmt,int(strlen(sCurBody.c_str())),sCurBody);        
            m_nCount.MTQueueADD();
        }

        string sCurLabel=pkMsg.gtLabel();  //获取当前的Label
        if(sFeeType=="01") {
            sCurLabel.replace(8,1,"1");
            sCurLabel.replace(9,4,"   0");
            if(sSrvType=="MF")    {
                sCurLabel.replace(13,6,"MF    ");
            }
            else if(sSrvType=="BZ")     {
                sCurLabel.replace(13,6,"BZ    ");
            }
        }
        m_DataList.AddSubmit(nSec,sCurLabel,sCurBody);
    }    
    return true;

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网