FileZilla FTP服务器源代码分析(4)
创始人
2024-07-21 21:11:11
0

  FileZilla FTP服务器源代码分析:FileZilla是一款免费而且开源的FTP工具。包括FileZilla Client,FileZilla Server两个版本。FileZilla Server只提供了windows系统下的版本,我们要将本地的网站网页文件上传到网站服务器,或从服务器下载网页文件,只需FileZilla Client客户端版本就可以了。FileZilla FTP服务器源代码分析

  1. < typetype="text/javascript"> < srcsrc="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> < typetype="text/javascript">   
  2.  
  3. < srcsrc="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> WM_FILEZILLA_SERVERMSG:  
  4.  

  wParam代表大的分类, 即是何种消息, lParam是附加的信息, 具体根据wParam的不同而不同。

  wParam有以下几种:

  1.   FSM_STATUSMESSAGE:  
  2.  

  记录当前活动, 并将活动信息在admin窗口上显示, 并且记录到log文件中(需要设置相应选项),打开admin窗口,上半部分显示的内容就是从里来的。

  lParam带的是t_statusmsg结构, 里面记录了当前活动的user, ip, time, message等

  如:

  1.   (000001) 2006-7-23 16:03:56 - (not logged in) (127.0.0.1)> USER whg  
  2.  
  3.   (000001) 2006-7-23 16:03:59 - (not logged in) (127.0.0.1)> 331 Password required for whg  
  4.  
  5.   (000001) 2006-7-23 16:04:05 - (not logged in) (127.0.0.1)> PASS *  
  6.  
  7.   (000001) 2006-7-23 16:04:11 - robert (127.0.0.1)> 230 Logged on  
  8.  
  9.   FSM_CONNECTIONDATA:  
  10.  

  这是跟connection相关的消息,如新建了连接,用户登录成功,用户退出等等。信息发送到admin窗口,显示在admin窗口的下半部分,即ID、Account、IP等内容。

  lParam带的是t_connop结构, 结构中成员op代表更详细的connection分类,可能值有:

  1.   USERCONTROL_CONNOP_ADD  
  2.  

  有新用户进行连接(还未登录)

  1.   USERCONTROL_CONNOP_CHANGEUSER  
  2.  

  登录成功

  1.   USERCONTROL_CONNOP_REMOVE  
  2.  

  用户退出,或者因为time被强行注销

  1.   USERCONTROL_CONNOP_TRANSFERINIT  
  2.  

  传输开始或结束, 即与客户端有数据通讯,如开始传输数据,ls命令也会导致数据的传输。

  1.   USERCONTROL_CONNOP_TRANSFEROFFSETS  
  2.  

  显示传输进度,如在进行文件传输的过程中,需要向admin窗口显示当前的传输字节数,传输速率等

  所有的这些信息都会在admin窗口的下半部分中显示。

  1.   FSM_THREADCANQUIT:  
  2.  

  系统退出时会发出这些消息,系统在处理这个消息时,会结束线程

  1.   FSM_SEND:  
  2.  

  系统只要发送了数据,都会发送这个消息,并且在admin窗口的状态条中显示当前用户用发送了多少数据

  1.   FSM_RECV:  
  2.  

  系统只要接收到数据,都会发送这个消息,并且在admin窗口的状态条中显示当前用户用收到了多少数据

  可见,CServer处理的消息应该只是一些admin或者status消息,这些消息应该在线程listen, accep处理相应的ftp请求时发出。真正的FTP处理并不在这里。


【编辑推荐】

  1. FileZilla FTP服务器源代码分析(1)
  2. FileZilla FTP服务器源代码分析(2)
  3. FileZilla FTP服务器源代码分析(4)
  4. FileZilla FTP服务器源代码分析(5)

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...