struct{
int i;
char c;
};
在VB中用WINSOCK来接收,收到后怎样把i、c分开?并把i放到一个int变量中?
3 个解决方案
#1
整体作为二进制来收取,然后再分别挑出来。
#2
type mytype
i as integer
c as byte
end type
dim mytype1 as mytype
'/////////////发送
dim Buffer() as byte
reDim Buffer(LenB(mytype1) - 1)
CopyMemory Buffer(0), mytype1 , LenB(mytype1 ) '将结构转换为2进制数组
Winsock1.SendData Buffer '发送mytype1结构的内容
'///////////////
'///////接收
dim mytype2
Dim Buffer() As Byte
Winsock2.GetData Buffer, vbByte, bytesTotal '接收发送过来的2进制内容
CopyMemory mytype2, Buffer(0), lenb(mytype2) '转换为结构mytype2
''mytype2就是发送过来的mytype1结构..你可以直接操作mytype2了.
i as integer
c as byte
end type
dim mytype1 as mytype
'/////////////发送
dim Buffer() as byte
reDim Buffer(LenB(mytype1) - 1)
CopyMemory Buffer(0), mytype1 , LenB(mytype1 ) '将结构转换为2进制数组
Winsock1.SendData Buffer '发送mytype1结构的内容
'///////////////
'///////接收
dim mytype2
Dim Buffer() As Byte
Winsock2.GetData Buffer, vbByte, bytesTotal '接收发送过来的2进制内容
CopyMemory mytype2, Buffer(0), lenb(mytype2) '转换为结构mytype2
''mytype2就是发送过来的mytype1结构..你可以直接操作mytype2了.
#3
非常感谢!
#1
整体作为二进制来收取,然后再分别挑出来。
#2
type mytype
i as integer
c as byte
end type
dim mytype1 as mytype
'/////////////发送
dim Buffer() as byte
reDim Buffer(LenB(mytype1) - 1)
CopyMemory Buffer(0), mytype1 , LenB(mytype1 ) '将结构转换为2进制数组
Winsock1.SendData Buffer '发送mytype1结构的内容
'///////////////
'///////接收
dim mytype2
Dim Buffer() As Byte
Winsock2.GetData Buffer, vbByte, bytesTotal '接收发送过来的2进制内容
CopyMemory mytype2, Buffer(0), lenb(mytype2) '转换为结构mytype2
''mytype2就是发送过来的mytype1结构..你可以直接操作mytype2了.
i as integer
c as byte
end type
dim mytype1 as mytype
'/////////////发送
dim Buffer() as byte
reDim Buffer(LenB(mytype1) - 1)
CopyMemory Buffer(0), mytype1 , LenB(mytype1 ) '将结构转换为2进制数组
Winsock1.SendData Buffer '发送mytype1结构的内容
'///////////////
'///////接收
dim mytype2
Dim Buffer() As Byte
Winsock2.GetData Buffer, vbByte, bytesTotal '接收发送过来的2进制内容
CopyMemory mytype2, Buffer(0), lenb(mytype2) '转换为结构mytype2
''mytype2就是发送过来的mytype1结构..你可以直接操作mytype2了.
#3
非常感谢!