看板 PangSir 關於我們 聯絡資訊
: 我用TELNET試試看 : 當我下LIST的指令後 : 它有回傳 : 150 Data connection open : 226 Transfer complete : 那請問我收到的LIST檔會存哪? RFC 959 http://www.ietf.org/rfc/rfc959.txt 關於LIST的說明如下 This command causes a list to be sent from the server to the passive DTP. 所以你在還沒有LIST之前必須要先建立一個passive的data transfer process(DTP) 建立DTP方法則是使用PASV指令去request server開一個data port PASSIVE (PASV) 說明如下 This command requests the server-DTP to "listen" on a data port (which is not its default data port) and to wait for a connection rather than initiate one upon receipt of a transfer command. 這個時候server會reply 開啟哪個data port 接著就可以使用LIST request 再連上server 指定的data port server就會回傳150 Data Connection到clinet的control port 最後server就會從data port把LIST的資料傳給clinet 所以 LIST資料就是在接收data的port那邊 : 還有當我使用RETR filename後 : 也有收檔完成的回傳,但也找不存在哪了 當收檔的時候 從接收data的port那邊所收下的資料 必須要自己開檔案存起來 在接收檔案之前server會告知clinet所傳檔案的大小 所以必須要按照檔案的大小把檔案資料存入新開的檔案裡面 : 最後一個問題是,我下了PASV後 : 下傳輸的指令(LIST,RETR等)時都會停住,或是說 : 450 try later - data connection in use 我不太了解 你要問的意思 可以請你再說清楚一點嗎 我想你會發生的問題是不是接到PASV的reply之後 沒有connect到server所開的data port才會停住 不知道是不是有解決你的問題 如果有問題的話 歡迎大家一起討論 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.82
yuminyung:謝謝,我大概懂了 05/01 14:39