Отправить пакет свойств через winsock?

У меня проблемы с отправкой 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 ответ

Решение

Большинство людей также используют объект потока ADO (добавьте ссылку на Microsoft ActiveX Data Objects 2.5 или любую другую версию), перейдя в Project -> References.

Вот рабочий пример, который вы можете загрузить, используя PropertyBag, а также объект потока ADO.

Он называется PicturePicture.zip и написан очень опытным программистом Winsock & клиент / сервер.

Другие вопросы по тегам