我的程序向短信网关发送一个CMPP_CONNECT消息后,收到短信网关回应的消息,Command_ID是0x80000000但是在CMPP3.0的文档里找不出这个Command_ID对应的消息类型,请问这会是什么情况?

解决方案 »

  1.   

    在与网络上下载的调试器软件连接能返回33字节长的CMPP_CONNECT_RESP消息,
    但与真实网关连接时却返回了16个字节的的内容:
    00000010800000000000000139323532不知是怎么回事?
      

  2.   

    那为什么不返回CMPP_CONNECT_REST消息呢?
      

  3.   

    我用类似下面这样的C#代码连接ISMG:
     
    _Host="外网IP";
    _Port="7890";
    CMPP_CONNECT connect = new CMPP_CONNECT(SequenceId, _Source_Addr, _Password, Version,time);
    if (_Socket == null)
    {
        _Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    }
    _Socket.Connect(_Host, _Port); //连接
    _Socket.Send(connect.ToBytes());
     
    发送如下CMPP_CONNECT消息: 
    Request:
    [
     MessageHeader:
      Command_Id: [CMPP_CONNECT]
      Sequence_Id: 1
      Total_Length: [39]
     MessageBody:
      AuthenticatorSource: [2040853BDE297B190F47B8A813B2D091]
      Password: somepassword
      Source_Addr: [925255]
      Version: [1014165116]
    ]
    在与网络上下载的调试器软件连接能返回33字节长的CMPP_CONNECT_RESP消息。
    但与真实的网关“IP”连接时却返回了16个字节的的内容(16进制数据):
    00000010800000000000000139323532
     
    在CMPP3.0的文档中找不到这串内容对应的意思,请问是什么原因?