Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Работа с сетью > Зипованный файл битым прилетает.. |
Автор: Proger10 22.3.2009, 01:59 | ||||||
С сервера кидаю бинарный файл на клиент. Всё через сокеты. Файл предварительно гзипую. Серверный код:
приём у клиента:
вот чёрт побери.. один байт решает. 26845 - это размер файла в байтах. Не пойму, в чём может быть дело?? Визуально смотрю - всё почти тоже самое. Только в одном файле два символа - вопросы, а в битом файле test.png почему-то эти символы в виде вопроса в ромбике ![]() Не подскажите ли в чём моя ошибка?? |
Автор: Proger10 22.3.2009, 02:21 | ||||
Может потоки (/сокеты) как-то подготовить особо надо, чтобы передавать? Всё же 1 байт разницы это в чём-то таком дело.. либо типы неправильные использую, либо ещё какая-то несовместимость.. Либо действительно у меня в программе ошибка. Но вряд ли, всё-таки файл приходит почти такой же.. тока битый ![]() Причём меньше именно полученный файл. Вот больше объёмы:
Видите, терь 3 байта сэкономили.. ![]()
Господа гуры, предположите хоть что-нибудь! ![]() |
Автор: Proger10 22.3.2009, 02:47 | ||
Заменил у клиента вот на такое:
вместо sChunk поставил еденицу - работает абсолютно аналогично. Опять 1 байт теряется. То, что он аналогично работает, это нормально? ![]() |
Автор: qwertovsky 22.3.2009, 02:48 |
Насколько я сталкивался, в архивы получалось писать только блоками по 8Киб. Как ты так странно с файлом двоичным - построчно, да еще и перенос строки сам добавляешь? |
Автор: Proger10 22.3.2009, 02:58 | ||||
Я чё-то и сам не подумал!! ![]() Дал я маху.. Да и Ридеры/Райтеры не работают с бинарными данными. Проблема решена! На всякий случай, привожу работающий код сервера - пользуйтесь кому надо! ![]()
|