FileZilla 源代码分析2

系统 Linux
FileZilla是一个免费开源的FTP客户端软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而FileZilla Server则是一个小巧并且可靠的支持FTP&SFTP的FTP服务器软件。

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 源代码,希望对大家有帮助!

【编辑推荐】

责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-02-23 15:11:27

FileZilla

2011-02-23 15:26:01

FileZilla

2011-02-23 15:33:42

FileZilla

2011-02-23 15:21:06

FileZilla

2011-02-23 13:47:33

FileZilla

2011-02-23 14:26:28

FileZilla

2011-02-23 14:46:21

FileZilla

2011-02-23 14:54:58

FileZilla

2011-02-23 14:39:27

FileZilla

2011-03-01 16:19:27

FileZilla

2011-03-01 16:25:37

FileZilla

2011-03-01 16:32:58

FileZilla

2011-03-01 16:01:08

FileZilla

2015-08-28 09:38:51

Linux源代码分析工具

2018-05-25 14:16:55

NFS源代码线程

2015-08-26 17:38:47

Linux源代码

2009-07-02 13:59:35

JSP后台

2011-08-24 15:42:38

LUA源代码

2020-02-24 09:25:33

代码开发工具

2011-08-24 16:24:54

Lua源代码
点赞
收藏

51CTO技术栈公众号