我在发送propertybag
超过winsock
时遇到麻烦。我有一个客户端/服务器应用程序,通过使用propertybag
发送图像。我将propertybag
转换为字节数组并尝试将其发送到winsock
上,然后当我将字节数组转换回propertybag
时,它似乎无法读取它。看起来数据在发送时已经损坏了。
客户端(发送propertybag)
Dim pb As PropertyBag
Dim byt() As Byte
Set pb = New PropertyBag
pb.WriteProperty "picc", Image1.Picture
byt = pb.Contents
Winsock1.SendData byt
服务器(接收propertybag)
Dim byt() As Byte
Dim pb As PropertyBag
Set pb = New PropertyBag
Winsock1.GetData byt, vbByte
pb.Contents = byt
Image1.Picture = pb.ReadProperty("picc")
我收到的错误:
Run-time error '327':
Data value named 'picc' not found
当我尝试在没有winsock
的单个程序中执行代码时,它工作得很好。当我通过winsock
发送字节数组时,就会出现问题。
大多数人还通过进入Project -> References使用ADO流对象(添加对Microsoft ActiveX Data Objects 2.5或任何版本的引用)。
这是一个可以使用PropertyBag和ADO流对象下载的工作示例。
它被称为PicturePicture.zip,由一个非常Winsock &客户端/server-knowledgeable程序员。