FILEZILLA 32位 安装版,适用于32位的系统,用户需要在安装的时候根据自己的系统类型进行选择操作,避免无法运行,软件功能很强大,多用于FTP传输作用,有需要的用户可以直接点击下载
控制指令流程
综合所述,FileZilla客户端与服务端控制指令通信的流程大致如下:
1:CCommandQueue的ProcessCommand函数提交command请求到command队列,如果command队列长度为1,则调用ProcessNextCommand处理首条command。
2:ProcessNextCommand利用CFileZillaEngine的Command函数对请求进行分类处理,并提交到底层socket。
3:底层socket利用异步通信WSAEventSelect向服务端发出请求。
4:未收到服务端确认前,CCommandQueue首元素不出队,其余command请求暂停投递。
5:底层socket收到服务端数据,底层socket调用CSocketEventDispatcher::Get().SendEvent将socket event加入socketevent队列
6:SendEvent内部调用AddPendingEvent,触发ProcessEvent对socket event队列进行处理
7:ProcessEvent判断队列是否为空,非空调用OnSocketEvent
8:OnSocketEvent(由CSocketEventHandler的子类实现,如CFtpSocketControl)对socket event类型进行判断,logmsg解析、send、recv等操作,然后调用CFileZillaEnginePrivate类的AddNotification函数向m_NotificationList通知队列内插入操作结果Notification。
9:AddNotification内部构造wxID_ANY消息,并post该消息到CMainFrame。
10:CMainFrame的OnEngineEvent函数对nofication的ID进行判断,例如,logmsg通知,则打印信息。nId_operation,则将CCommandQueue首元素出队,取出下一个元素,投递请求。