合作伙伴发来一个文档,关于双方数据通讯的技术文档,里面提到了定义消息,消息头,消息体,但是我们一直用vb的winsock的都没有遇到过这个问题啊,请求高人在vb里如何定义消息头消息体,具体如何操作啊???

解决方案 »

  1.   

    那其实就是双方通信的一个协议而已。没什么大不了的。比如说以"EB90"开头啊,"D709"开头什么,只不过是为了同步和解释数据而已。
      

  2.   

    你在WinSock中就定义一个字节数组。
    第一字节放&HEB
    第二字节放&H90
    第三字节放&HEB
    第四字节放&H90
    第五字节放&HEB
    第六字节放&H90
    后面接着数据等 。接收方发现三个EB90后,除头去尾取数据解释。就是这样的了
      

  3.   

    同意楼上
    你也可以使用一些命令来控制
    比如
    100|opencontrol
    101|execute等等,接受后处理消息
      

  4.   

    那我在winsock中到底send什么样的内容那?!
      

  5.   

    这是一个自定义的协议,即便别人拦截到你得消息也很难理解;
    如消息长度定位256个字节,前10个字节是消息头
    例:
    dim msgHead as String 
    dim msgBody as String 
     msgHead = "1000" & space(6) '1000是在你得文档中定义的一个标示位,表示“测试用”
     msgBody = "test" '这是你想发送的内容.me.winsock1.senddata msgHead & msgBody当对方接受后也会按照相同的文档进行拆分,如:
    先取前10位,然后去空格,
    select case msgHead
       case "1000"
           到需要处理的地方,把消息体作为参数往里传;'这只是个例子
    end select
    就像这样啊.
      

  6.   

    你在Winsock中可以Send一个字节数组,也可以Send一个字符串但个人认为Send字节数组是好一些吧,虽然感觉易读性差了点。
      

  7.   

    有什么不行,和到网上找个发送Byte数组的程序代码一看,再把解释的地方搞搞,就完全可以用了。
      

  8.   

    你有点搞混了,你伙伴的协议和winsock的所有东西均无关
    你先搞清两者关系,就明白了