看板 LinuxDev 關於我們 聯絡資訊
※ 引述《batista630 (努力工作!!)》之銘言: : ※ 引述《qrtt1 (愚人)》之銘言: : : 這不是 socket 的問題 : : 是 ftp 的問題,層次差很多,已經在 TCP/IP 層之上了 : 這當然是socket的問題呀 因為我用socket再寫ftp XD : : 你用 PORT 指令可以自己指定 port : : PASV 你送出他會給你一個 ip+port -> 140,133,31,33,123,134 : : 最後二個是 port, 123 * 256^1 + 134 * 256 ^ 0 : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : 我知道怎麼換算,我好奇的是那個PORT NUMBER如何決定 : 因為我在寫SERVER 所以我要給CLIENT PORT NUMBER去開DATA CHANEL : : 應該直接查 RFC 954 : 我RFC959看心酸的XD.. : : 應該有 SYST 之類的指令 : 我會去翻翻標準程式庫 : : 當你用到需要傳輸 DATA 時的指令就要通知他開 (用 PASV 或 PORT) : : 什麼時候關...呃..沒想過 不過用完就關了吧 : : FTP 的設計並不是一直保持連線的,頂多只有 Data Interpret Channel 會一直連著 : : 你跟他要一個 port 就是要他開 Datat Transfer Process : : 有了連線再下傳資料的指令比較合理 那就是你連上的 PI port -1 就是 DTP port 不然 client 應該要送出 PASV 問你有什麼 port 開好給他連 或是他要用 PORT 指定自己開給你連 你直接 try 應該就有結果了 PASV 比較好 try 因為現在動不動就 nat orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.245.72.92
qrtt1:純印象, 寫 ftp app 是很久的記憶了 XD 06/29 10:41
※ 編輯: qrtt1 來自: 60.245.72.92 (06/29 10:43)