2001年08月20日 11:36:00
FTP协议将使用两条单独的TCP连接,一条专用于发送FTP命令,另一条则专用于传递数据。初始建立连接时,服务器在21号端口上接收来自客户端的命令连接。当需要传送数据时(文件列表、文件数据等),客户端向服务器发出Port命令,并进入监听状态,等待来自服务器的数据连接请求。
首先我们利用VC++ 6.0的AppWizard创建一个基于对话框的应用程序,命名为FtpClientDemo。为程序生成五个基于CAsyncSocket的新类,这里列出主要代码。
用VC++编制FTP客户端应用程序
FTP协议将使用两条单独的TCP连接,一条专用于发送FTP命令,另一条则专用于传递数据。初始建立连接时,服务器在21号端口上接收来自客户端的命令连接。当需要传送数据时(文件列表、文件数据等),客户端向服务器发出Port命令,并进入监听状态,等待来自服务器的数据连接请求。
首先我们利用VC++ 6.0的AppWizard创建一个基于对话框的应用程序,命名为FtpClientDemo。为程序生成五个基于CAsyncSocket的新类,这里列出主要代码。
CCommandSocket类的主要代码 void CCommandSocket::OnReceive(int nErrorCode) { //这个函数使得服务器的应答消息显示在编辑框上 char buffer=new char[4096]; memset(buffer,0,4096); this-〉Receive(buffer,1024,0); //接收应答消息 MessageList+=buffer; m_ReturnMessage-〉SetWindowText(MessageList); delete buffer; } CFileSocket类的主要代码 void CFileSocket::OnReceive(int nErrorCode) { //函数将收到的文件数据写到文件中 if(File= =NULL) { File=new CFile(); File-〉Open(FileName,CFile::modeWrite|CFile::modeCreate); } charbuffer