Отправить пакет свойств через 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 & клиент / сервер.