与对方有一个约定的协议,如何用vb将一个约定协议格式帧封装后发送,该格式为十六进制,恳求高手指点迷津

解决方案 »

  1.   

    最近总是见有人说格式为:十六进制,让人费解,如果没猜错,这就是指Byte数组,只是显示时为了方便才用16进制表示而已。不会有什么协议真将Byte数组转成16进制字符串去收发,那不是既无可读性,又太低效了吗?还不如像Http那样,干脆用可读字符串了。Byte数组若带有格式,多数是定义了每个二进制位的开关选项或组合表示含义,你若明确了协议内容,这些都不难实现。
      

  2.   

    既然有协议,你按协议规则组合BYTE数组,发过就是了啊
      

  3.   

    刚踏上工作,小弟愚笨,对底层的不是太了解,能否再详细点啊,比如协议是7e  00   00   44   12   22   12 7e,是不是直接发送7e0000441222127e行吗?
      

  4.   

    任何数据都可以用Byte数组表示,“7e  00   00   44   12   22   12 7e”只是显示方式而已, 其本意就是Byte数组,
    Dim a(7) as Byte
    a(0)=&h7e
    a(3)=&h44
    a(4)=&h12
    ...
    winsock1.sendata a