Re: [問題] socket的一些問題
※ 引述《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 之類的指令
: 我會去翻翻標準程式庫
我想你誤會了 q 大的意思,你所提的三個問題都是屬於 application control
的問題,並非 socket 的使用問題,而是 FTP protocol 實作問題
簡單來說,PASV, Port number 決定等,都是由 ftp protocol 的 control 先
決定之後,才使用 socket 的 API (諸如bind 等) 來設定 port 等資訊
換言之,socket 只是被動的被告知你要 bind 的 port 在哪,要連的對象在哪
要送多少資料,要接收多少資料,但他無法告訴你「有多少資料要送」,因為
這件事情是更上層傳送前就要知道的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.214.90
※ 編輯: andytzeng 來自: 220.135.188.188 (06/30 16:10)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 7 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章