Vb6 通过winsock发送propertybag?

Vb6 通过winsock发送propertybag?,vb6,winsock,propertybag,Vb6,Winsock,Propertybag,我无法通过winsock发送propertybag。我有一个客户机/服务器应用程序,它使用propertybag发送图像。我将propertybag转换为字节数组,并尝试通过winsock发送它,然后当我将字节数组转换回propertybag时,它似乎无法读取它。看起来数据在发送时已损坏 客户端(发送propertybag) 服务器(接收属性包) 我收到的错误: Run-time error '327': Data value named 'picc' not found 当我尝试在没有win

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

客户端(发送propertybag)

服务器(接收属性包)

我收到的错误:

Run-time error '327':
Data value named 'picc' not found

当我尝试在没有
winsock
的情况下在单个程序中执行代码时,效果很好。当我通过
winsock
发送字节数组时,就会出现问题

大多数人还通过转到项目->引用来利用ADO流对象(添加对Microsoft ActiveX Data Objects 2.5或任何版本的引用)


它被称为PicturePicture.zip,由一个非常熟悉Winsock和客户机/服务器的程序员编写。

我会将两个字节数组(发送和接收)写入一个文件,并比较差异一个
SendData
调用无法通过一个
GetData
调用可靠地接收。这就是“数据包谬误”。您不以用户定义的“数据包”形式发送数据,而是发送和接收长度不同的流片段(每个数据到达事件可能小到1字节)。TCP不是数据报协议。
   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