发送propertybag over winsock?

时间:2014-03-19 02:39:46

标签: vb6 winsock propertybag

我在发送propertybag winsock时遇到问题。我有一个客户端/服务器应用程序,通过propertybag发送图像。我将propertybag转换为字节数组并尝试通过winsock发送,然后当我将字节数组转换回propertybag时,它似乎无法读取它。看起来数据在发送时已损坏。

客户(发送资产包)

Dim pb As PropertyBag
Dim byt() As Byte

Set pb = New PropertyBag

pb.WriteProperty "picc", Image1.Picture
byt = pb.Contents

Winsock1.SendData byt

服务器(接收属性包)

   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发送字节数组时,会出现问题。

1 个答案:

答案 0 :(得分:2)

大多数人还使用ADO流对象(添加对Microsoft ActiveX Data Objects 2.5或任何版本的引用)转到项目 - &gt; <强>参考

Here is a working example you can download using a PropertyBag as well as the ADO stream object.

它被称为 PicturePicture.zip ,由一个非常好的Winsock&amp;客户/服务器知识渊博的程序员。