比如报文头是0xeb90,求高人给个范例,谢谢

解决方案 »

  1.   

    简单点自己定义结构体,复杂点定义个xml格式,然后发送/解析。
      

  2.   

    你没说你是哪方面的通信,不管是哪方面的通信,你都可以有两种方法定义通信方式:
    1.结构:这需要双方约定好字节对齐方式,适合复杂协议
    2.数组:这不需要约定好字节对齐方式,能简单些,但不适合复杂的协议.
    举个简单的例子:
    0xaa(报文头)+命令+长度+数据域+校验+0xbb(结束符)
    其中数据域可以是结构:
    struct 命令1
    {
    int 电流;
    int 电压;
    int 容量;
    }
    struct 命令2
    {
    int 发送电压;
    int 发送电流
    }
    就是类似这么定义
      

  3.   

    typedef struct _SCSI_PASS_THROUGH {
        USHORT Length;
        UCHAR ScsiStatus;
        UCHAR PathId;
        UCHAR TargetId;
        UCHAR Lun;
        UCHAR CdbLength;
        UCHAR SenseInfoLength;
        UCHAR DataIn;
        ULONG DataTransferLength;
        ULONG TimeOutValue;
        ULONG_PTR DataBufferOffset;
        ULONG SenseInfoOffset;
        UCHAR Cdb[16];
    }SCSI_PASS_THROUGH, *PSCSI_PASS_THROUGH;
    比如定义这么一个结构体,你往下发什么你自己定义,协议要自己能对的上
    cdb里是命令格式,发的相对的命令,协议里要规定命令的含义和执行操作~