シンプルな FTP サーバーを実装しています。デバッグ時には、FileZilla クライアントを使用してサーバーを接続しようとします。コマンド パネルに表示されるリクエストとレスポンスのパターンを以下に示します。
GREETING: 220 (FTP v1.0)
REQUEST: USER ***
RESPONS: 331 Password?
REQUEST: PASS ********
RESPONS: 230 login successfully.
REQUEST: PWD
RESPONS: 257 "/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#でサーバーを実装しています)。しかし、なぜエラーが発生するのかわかりません。データを同期サーバーとクライアントに直接送信するのではなく、制御接続のようなハンドシェイク/グリーティング情報を送信する必要があるためですか? はいの場合、この情報のステータス コードは何ですか?
よろしくお願いします。