Я реализую простой FTP-сервер. При отладке я пытаюсь использовать клиента FileZilla для подключения моего сервера. Запрос и ответ шаблон найден в командной панели перечислены ниже:Подходит ли приветствие или рукопожатие при установлении соединения с FTP?
GREETING: 220 (FTP v1.0)
REQUEST: USER ***
RESPONS: 331 Password?
REQUEST: PASS ********
RESPONS: 230 login successfully.
REQUEST: PWD
RESPONS: 257 "https://stackoverflow.com/a/" is current directory.
REQUEST: TYPE I
RESPONS: 200 Type set to I.
REQUEST: PASV
RESPONS: 200 127,255,0,0,175,200(I specify local port 45000)
REQUEST: LIST
RESPONS: 150 here is the listing
RESPONS: 226 Transfer done.
Однако, есть ошибка с последующим Fail to read directroy.
я думаю, что пассивное соединение действительно установлено, так как я могу получить поток на сокете (я реализую сервер в C#). Но я не знаю, почему ошибка. Это потому, что я должен отправить некоторую информацию о рукопожатии/приветствии, подобную информации в контрольном соединении, вместо отправки данных непосредственно на сервер синхронизации и клиент? Если да, каков код состояния этой информации?
Спасибо и с наилучшими пожеланиями.
Возможно, я использую некоторые фиктивные данные для тестирования, уточню этот модуль и повторю тест. Спасибо. –
Вы правы. Формат - это одно, а другое - то, что я оставил соединение открытым после завершения передачи данных. Любопытно, почему FileZilla принимает эту политику, возможно, все операции завершены в одном потоке? Будет проверять src, если у меня будет время. –