close

1.FTP的使用流程與解釋

FTP就是File Transfer Protocol (client and server),它是一種獲得網際網路世界普遍採用的通訊協定之一,說什麼FTP協定恐怕對一般人來說太深奧了點.其實講白話一點,就是有一組非商業組織 的學者們,在1985年的時候提出了一種開放的協定,提供給想要製作檔案傳輸相關應用的電腦軟體設計者們參考,讓大家可以依照這個標準,獨立製作出支持 FTP協定的檔案傳輸軟體,確又可以確保互相能夠相容.

FTP是一種主從式的架構,也就是Client and Server架構,說什麼主從式對一般人來說恐怕是太難懂了一些,說穿了既然是主從式,那這個協定要運行一定就要有人開FTP Server,也要有人用FTP Client,唯有這兩組軟體搭配,才能達成FTP檔案傳輸的功效.FTP Server就像是錄影帶出租店,裡面放著很多錄影帶(想像為電腦中的檔案),等著客戶來租借或是還片,錄影帶店的客人就像是FTP Client,會到錄影帶出租店中借影帶(想像為FTP中的 下載 動作)或是把片子還給出租店(想像為FTP中的 上傳 動作).因此我們可以很簡單的歸納出,想要提供一個讓別人與自己的電腦透過網路作檔案上下傳服務的人,他就要安裝FTP Server的軟體,也就是所謂的FTP伺服器,想要到別人的FTP Server去抓檔案或是傳檔案給別人的人,就需要安裝FTP Client的軟體.

 

流程:

  1. 戶端使用 Three-Way Handshake與 FTP 伺服器端建立 TCP 交談。
  2. FTP伺服器利用 TCP 21 連接埠來傳送和接收 TCP 控制資訊,以便於傾聽用戶端的連線要求,在連線建立後,此連接埠會全程開啟。
  3. FTP伺服器使用 TCP 20 連接埠來傳送與接收 FTP 檔案,傳送完成後即關閉。
  4. 用戶端在向 FTP 伺服器提出連線要求後,會在 1024 ~ 65535 的連接埠中動態指定一個連接埠。並以此動態連接埠與 FTP 伺服器上的 TCP 21 連接埠來建立交談。
  5. 用戶端會開啟另一連接埠連到 FTP 伺服器上的 TCP 20 連接埠,以便傳輸資料。而且每一次有檔案要傳輸時,用戶端會開啟一個新的連接埠與FTP伺服器連線。


2.recursive call vs iterated call 之差別性


recursive:
      所謂遞迴就是允許一個 Procedure 或 Function 呼叫自己本身。
當然,他不能無限制地呼叫自己,否則將造成無窮迴圈,所以它都會伴隨一個「終止狀況」(Termination Condition),當程序執行至此終止狀況成立時,便不再呼叫自己,而獲得所求,並傳遞迴呼叫端。


iterated:
      概念上,就是有某 個變數,它的值被一次又一次地代換成新的數值, 而每次代換之後都做同樣的動作。 通常程式語言提供三種迭代的語法:for 迴圈、while 迴圈和 do-until 迴圈。 在此我們先講 for 迴圈 (for-loop)。 技術上,我們要學習各種程式語言所提供的迭代語法。

 


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 nk00303837 的頭像
    nk00303837

    nk00303837的部落格

    nk00303837 發表在 痞客邦 留言(0) 人氣()