| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4882 人关注过本帖
标题:VB通过UDP发送16进制数据0x01
取消只看楼主 加入收藏
hongyb
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-3-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
VB通过UDP发送16进制数据0x01
请教:

  现在要做个视易开关房及酒水接口的程序,按照接口协议的说明,通过UDP方式向酒水接口发送0x010x01的数据,

UDP 协议格式:

-----------------------------------------------------------------------------------------------------  ------------------------------------------
主消息号(4字节)    子消息号(4字节)   包厢IP(4字节)    预留(16字节)    正文长度(4字节)    正文内容(不超过4096-32字节)
-----------------------------------------------------------------------------------------------------  ------------------------------------------
                              
           包头部分(32字节固定长度)                                    正文部分

我调试这样发送:winsock.senddata "0x010x01000000000000000000000000192.168.1.2"

酒水接口接收的数据是这样的:[31303030][31303030]192.168.1.2

酒水接口接收正确的应该是:[0001][0001]192.168.1.2

请问我应该怎么发送0x01,0x01这个数据?



[此贴子已经被作者于2018-3-16 17:38编辑过]

搜索更多相关主题的帖子: UDP 发送 数据 接口 字节 
2018-03-16 17:33
hongyb
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-3-16
收藏
得分:0 
先谢谢!!没看到转换0x010x01成二进制的地方?

[此贴子已经被作者于2018-3-16 18:58编辑过]

2018-03-16 18:51
hongyb
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-3-16
收藏
得分:0 
回复 4楼 风吹过b
大神:能否给个数据结构的例子,我发送到酒水接口试试?

现在我用字符发送过去,接口始终收到的是 ascii值,而不是正确的[0001][0001]192.168.1.2 这样的值
2018-03-18 16:40
hongyb
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-3-16
收藏
得分:0 
回复 6楼 wds1
谢谢wds1,我理解了一点点的关于自定义数据类型 ,但编译时提示有错误:不支持的变体类型,
2018-03-19 11:33
hongyb
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-3-16
收藏
得分:0 
回复 9楼 wds1
ip,应该和正文部份在一起的,udhi 和 txt 如何重新赋值到新的数组?请指教下,谢谢,谢谢
2018-03-19 17:40
hongyb
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-3-16
收藏
得分:0 
回复 9楼 wds1
谢谢版主:终于搞通了,十分感谢!

          Dim udhi(31) As Byte '定义头数组
          Dim txt() As Byte '定义正文数组
          Dim Send_data()  As Byte
         
          '下面部分也可以定义结构体
          Dim No1 As Long
          Dim No2 As Long
          Dim ip As String
           
          Dim len1 As Long
          Dim Txt1 As String
         '赋值
          No1 = 1
          No2 = 2

          Txt1 = "000000"
          len1 = LenB(Txt1)
         
          Txt2 = "192.168.1.2测试测试........."
         
         '数据转为数组
          CopyMemory udhi(0), No1, 4
          CopyMemory udhi(4), No2, 4
         

          CopyMemory udhi(31), len1, 4
        
          txt = StrConv(Txt2, vbFromUnicode)
         
          ReDim Send_data(UBound(udhi) + UBound(txt) + 1)
         
          For i = 0 To 31: Send_data(i) = udhi(i): Next
          For i = 0 To UBound(txt): Send_data(32 + i) = txt(i): Next i
         
          Winsock1.SendData Send_data
2018-03-20 17:34
快速回复:VB通过UDP发送16进制数据0x01
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017325 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved