日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FTP中的收获

發布時間:2024/10/8 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FTP中的收获 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在這幾天編寫FTP服務器端和客戶端程序時,總是遇到這樣那樣的錯誤和困難,現在已經解決大部分,幾點收獲記錄如下:

1. 明白了主動模式和被動模式的根本區別:
主動模式:服務器向客戶端敲門,然后客戶端開門;
被動模式:客戶端向服務器敲門,然后服務器開門。

2. Socket的Send方法是非阻塞的;

3. ASCII傳輸模式和Binary傳輸模式,對于ASCII傳輸模式,傳輸的數據大小不大時,還是很方便的,但是用于傳輸大量數據,如大文件時,接收方處理并不容易。
在我的設計中,只有使用Binary模式才能保證每次傳輸都是正確。特別是使用了Socket的SendFile方法,這是一個阻塞方法,只要數據未發送完,都會被阻塞直到發送完畢。系統會自動處理緩沖等問題,非常方便;屬于Binary模式的。

4. 明白了一種協議標準的必要性。

5. 學會了許多FTP命令。

6. 基本掌握了Socket的工作原理和編程方式。

7. 進一步理解了多線程編程。

8. FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩臺計算機之間互相傳送文件。相比于HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與服務器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
(1)用于傳送命令的兩個Socket,它們在整個過程中都是連接著的;
(2)用于傳送數據的兩個Socket,只在有數據傳送時才建立連接,數據傳送完后,則斷開連接。
(3)還有兩個Socket用于監聽,采用主動模式時,ClientListener處于監聽狀態;采用被動模式時,ServerListener處于監聽狀態。

暫時就這么多了,晚了,要睡了。。。。zzzzzzzzzzzzzzzzzzzz

參考資料:
1. 主動FTP vs. 被動FTP 權威解釋
2. ftp應答碼
3. FTP wiki
4. 了解FTP服務與FTP協議(圖)
5. 一個FTP類
6. 一個FTP客戶端的C#代碼??? 2
7. FTP協議的分析和擴展
8. FTP命令詳解
9. http://www.faqs.org/rfcs/rfc959.html? RFC 959 (RFC959)?? 中文版
10. FTP---文件傳輸協議

其它資源:
ftp協議簇
http://www.ietf.org/rfc/rfc959.txt
http://www.ietf.org/rfc/rfc1579.txt

ftp安全擴展
http://www.ietf.org/rfc/rfc2228.txt
http://www.ietf.org/rfc/rfc2246.txt

ftp安全擴展,SSL接口草案:
http://www.ietf.org/internet-drafts/draft-murray-auth-ftp-ssl-13.txt

ssl/tls協議規范:
http://www.ietf.org/rfc/rfc2246.txt

OpenSSL,一個廣為應用的SSL實現:
http://www.openssl.org

支持ssl ftp的ftp client:
http://www.ford-hutchinson.com/~fh-1-pfh/ftps-ext_col.html#client

支持ssl ftp的ftp server:
http://www.ford-hutchinson.com/~fh-1-pfh/ftps-ext_col.html#server

轉載于:https://www.cnblogs.com/fengmk2/archive/2007/01/17/622170.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的FTP中的收获的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。