Показать сообщение отдельно
Старый 17.08.2009, 15:13   #1
Skythrone
ПроЭктировщик
 
Регистрация: 02.07.2008
Сообщений: 105
Написано 7 полезных сообщений
(для 14 пользователей)
Сообщение Загрузка бинарных данных через сокеты

Коллеги, прошу помочь разобраться с вопросом - как скачивать бинарные данные через сокеты?

Например, я скачиваю картинку.

Если я это делаю побайтно, то картинка загружается нормально, но ОЧЕНЬ долго.

Если же загружать построчно, то есть открыв сокет как поток, и оттуда читая ReadLine, то получается, что строчка считывается до символа переноса строки.
А в качестве этого самого символа переноса строки может выступать как Chr(10), так и Chr(13). И даже их комбинация: Chr(13)+Chr(10).

В возвращаемой через ReadLine строке нет символов переноса, поэтому нет возможности однозначно понять, какие же байты завершали строчку. В итоге бинарные данные получаются битыми.

Как быть?

Последний раз редактировалось Skythrone, 17.08.2009 в 19:47.
(Offline)
 
Ответить с цитированием