|
13 / 13 / 8
Регистрация: 22.04.2012
Сообщений: 99
|
||||||
FTP-client на Socket API02.01.2014, 06:25. Показов 3134. Ответов 12
Метки нет (Все метки)
Здравствуйте. Решил написать простенький FTP-клиент, всё получилось, кроме команды RETR. При получении файла приходит больше байт, чем надо. Сокеты создаются с параметром SOCK_STREAM. Вот небольшой кусок функции, которая сохраняет файл на стороне клиента, подскажите хотя бы алгоритм решения данной задачи
0
|
||||||
| 02.01.2014, 06:25 | |
|
Ответы с готовыми решениями:
12
Socket: Client & Server FTP client Nodejs net socket server and android socket client |
|
13 / 13 / 8
Регистрация: 22.04.2012
Сообщений: 99
|
|
| 03.01.2014, 16:30 [ТС] | |
|
Я кстати попробовал переписать цикл загрузки в стиле "считать сколько байт получено и так до тех пор, пока это кличество байт не равно размеру файла", но опять не то.
0
|
|
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
|||||||
| 03.01.2014, 16:40 | |||||||
|
И строку заполнить нулями нужно, memset-ом или просто
0
|
|||||||
|
|
|
| 03.01.2014, 16:52 | |
|
Большой_Стен, писать и читать следует в бинарном режиме(толк от ФТП если передаём лишь текст), в остальном если ты не накосил в send-е и не использовал невыровнянных через pragm-у структур проблем быть не должно. Приведи пример сколкьо байт передаёшь и сколько приходит
0
|
|
|
13 / 13 / 8
Регистрация: 22.04.2012
Сообщений: 99
|
|
| 03.01.2014, 17:49 [ТС] | |
|
Если передаю небольший текстовый файл то вроде всё норм, но если передать картинку, то как раз проблемы (Filezilla как-то с ними справляется). Например, на сервере картинка весит 92 021 байт, если после отправки команды RECV вызывать recv пока она не будет возвращать 0, то придёт 92 274 байт.
Да, кстати, сервер не мой, использую proftpd.
0
|
|
|
13 / 13 / 8
Регистрация: 22.04.2012
Сообщений: 99
|
|
| 03.01.2014, 20:34 [ТС] | |
|
Точно, сейчас читал про команду TYPE, мне на стороне клиента надо по расширению определять какой режим нужен
0
|
|
|
|
||
| 03.01.2014, 20:48 | ||
|
1
|
||
|
13 / 13 / 8
Регистрация: 22.04.2012
Сообщений: 99
|
|
| 03.01.2014, 21:20 [ТС] | |
|
Передаю в бинарном режиме картинку jpeg, поставил TYPE I, картинка прочиталась на стороне клиента, но размер её больше, чем на сервере. Наверно, надо получать столько байт, сколько написано в ответе на RECV, а не "пока recv не вернёт 0".
0
|
|
|
13 / 13 / 8
Регистрация: 22.04.2012
Сообщений: 99
|
|
| 03.01.2014, 22:21 [ТС] | |
|
Сервер же не мой, а proftpd
0
|
|
|
|
|||
| 04.01.2014, 12:06 | |||
|
0
|
|||
| 04.01.2014, 12:06 | |
|
Помогаю со студенческими работами здесь
13
Передать файл через socket или через ftp api Windows socket server python + socket client js Socket Android Client and Java Socket Server
Socket client Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|