FileZilla 原始碼分析2

來源:互聯網
上載者:User

FileZilla是一種快速、可信賴的FTP用戶端以及伺服器端開放原始碼程式,具有多種特色、直覺的介面。本文就給大家分析下FileZilla的原始碼。

< type="text/javascript"> < src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> < type="text/javascript"> < src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">

WM_FILEZILLA_SERVERMSG:

wParam代表大的分類, 即是何種訊息, lParam是附加的資訊, 具體根據wParam的不同而不同。

wParam有以下幾種:

FSM_STATUSMESSAGE:

記錄當前活動, 並將活動資訊在admin視窗上顯示, 並且記錄到log檔案中(需要設定相應選項),開啟admin視窗,上半部分顯示的內容就是從裡來的。

lParam帶的是t_statusmsg結構, 裡面記錄了當前活動的user, ip, time, message等

如:

(000001) 2006-7-23 16:03:56 - (not logged in) (127.0.0.1)> USER whg

(000001) 2006-7-23 16:03:59 - (not logged in) (127.0.0.1)> 331 Password required for whg

(000001) 2006-7-23 16:04:05 - (not logged in) (127.0.0.1)> PASS *

(000001) 2006-7-23 16:04:11 - robert (127.0.0.1)> 230 Logged on

FSM_CONNECTIONDATA:

這是跟connection相關的訊息,如建立了串連,使用者登入成功,使用者退出等等。資訊發送到admin視窗,顯示在admin視窗的下半部分,即ID、Account、IP等內容。

lParam帶的是t_connop結構, 結構中成員op代表更詳細的connection分類,可能值有:

USERCONTROL_CONNOP_ADD

有新使用者進行串連(還未登入)

USERCONTROL_CONNOP_CHANGEUSER

登入成功

USERCONTROL_CONNOP_REMOVE

使用者退出,或者因為time被強行登出

USERCONTROL_CONNOP_TRANSFERINIT

傳輸開始或結束, 即與用戶端有資料通訊,如開始傳輸資料,ls命令也會導致資料的傳輸。

USERCONTROL_CONNOP_TRANSFEROFFSETS

顯示傳輸進度,如在進行檔案傳輸的過程中,需要向admin視窗顯示當前的傳輸位元組數,傳輸速率等

所有的這些資訊都會在admin視窗的下半部分中顯示。

FSM_THREADCANQUIT:

系統退出時會發出這些訊息,系統在處理這個訊息時,會結束線程

FSM_SEND:

系統只要發送了資料,都會發送這個訊息,並且在admin視窗的狀態條中顯示目前使用者用發送了多少資料

FSM_RECV:

系統只要接收到資料,都會發送這個訊息,並且在admin視窗的狀態條中顯示目前使用者用收到了多少資料

可見,CServer處理的訊息應該只是一些admin或者status訊息,這些訊息應該線上程listen, accep處理相應的ftp請求時發出。真正的FTP處理並不在這裡。

< type="text/javascript"> < src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">

通過文章完整的描述,大家應該知道了FileZilla 原始碼,希望對大家有協助!

  • FileZilla 原始碼分析1
  • FileZilla簡單介紹
  • FileZilla:免費的伺服器軟體
  • FileZilla 3.3.1.0新版升級 修複bug
  • FileZilla FTP 用戶端硬式編碼密碼索引關鍵漏洞
  • FileZilla Server

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.