Я делаю небольшой FTP-клиент для получения больших файлов из FTP.Я прочитал в RFC, что команда ABOR очень проблематична для серверов.Почти все серверы, которые я вижу, просто продолжают отправлять данные даже после отправки ABOR через управляющее соединение.Закрытие передачи данных может также привести (в 70% тестов) к закрытию управляющего соединения.Сервер просто отправляет пакет FIN после моего отправленного пакета ABOR.Каков наилучший способ прекратить получение какого-либо байта и не потерять управляющее соединение?FlashFXP делает это нормально на всех типах задержек соединений и серверов.Исследуя TCP-трафик, я обнаружил стандартный FTP-поток RFC.
Но в моем случае все еще не удалось прервать передачу с помощью этой техники:
1) shutdown (passive_socket, SD_BOTH)
2) closesocket (passive_socket);
3) send (control_socket, "ABOR \ r \ n")
4) recv (control_socket) - здесь остановились
Спасибо