您的位置:程序门 -> vb -> 基础类



在vb里用socket发数据包的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


在vb里用socket发数据包的问题
发表于:2008-01-19 15:31:19 楼主
我想用socket发送一长串数据包,我是先将整个数据包赋值到一个字符串变量中,然后发出去
dim   s   as   string
s   =   chr(&h..)+chr(&h..)+...(很长)
sock.senddata   s
虽然可以发出去,但是抓包发现里面有3个数据(&ha3)(&h81)(&ha7)都被置成了0,倒置数据包无法解析
后来我发现只要是7f以后的都会被置成0,我也在其他的地方问了此问题
有人回答说是:7f是   0111   1111,第一位是符号位,范围是   -128   to   +127
后来我又想了一种方法,就是先建立个结构体,分别把其中的变量赋值,然后把它赋值给一个byte型的变量,之后发出去
public   type   data
              y1   as   byte
              y2   as   byte
              y3   as   byte
public   yy   as   data
      yy.y1   =   1
      yy.y2   =   2
      yy.y3   =   3
dim   bb   as   byte
      call   copymemory(bb(0),   yy,   len(yy))
sock.senddata   bb
虽然不知道后面这个方法能否成功,就算成功了我也不想用这个方法,因为数据包实在是太长了,而且不只是有1个数据包,这样赋值太痛苦了
请问大家有没有更好的方法,或者将第一种方法改进下,屏蔽掉那个错误
请高手赐教,小弟先在这里谢谢各位了!!!


快速检索

最新资讯
热门点击