用VC++编制FTP客户端应用程序

用VC++编制FTP客户端应用程序

ID:41009844

大小:23.84 KB

页数:8页

时间:2019-08-13

用VC++编制FTP客户端应用程序_第1页
用VC++编制FTP客户端应用程序_第2页
用VC++编制FTP客户端应用程序_第3页
用VC++编制FTP客户端应用程序_第4页
用VC++编制FTP客户端应用程序_第5页
资源描述:

《用VC++编制FTP客户端应用程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用VC++编制FTP客户端应用程序  FTP协议将使用两条单独的TCP连接,一条专用于发送FTP命令,另一条则专用于传递数据。初始建立连接时,服务器在21号端口上接收来自客户端的命令连接。当需要传送数据时(文件列表、文件数据等),客户端向服务器发出Port命令,并进入监听状态,等待来自服务器的数据连接请求。  首先我们利用VC++6.0的AppWizard创建一个基于对话框的应用程序,命名为FtpClientDemo。为程序生成五个基于CAsyncSocket的新类,这里列出主要代码。  CCommandSocket类的主要代码  voidCComma

2、ndSocket::OnReceive(intnErrorCode)    //这个函数使得服务器的应答消息显示在编辑框上  charbuffer=newchar[4096];  memset(buffer,0,4096);  this-〉Receive(buffer,1024,0);  //接收应答消息  MessageList+=buffer;  m_ReturnMessage-〉SetWindowText(MessageList);  deletebuffer;  }  CFileSocket类的主要代码    voidCFileSocket:

3、:OnReceive(intnErrorCode)    //函数将收到的文件数据写到文件中  if(File==NULL)  {File=newCFile();  File-〉Open(FileName,CFile::modeWrite

4、CFile::modeCreate);  }  charbuffer=newchar[4096];  memset(buffer,0,4096);  this-〉Receive(buffer,4096,0);  ReceiveString=buffer;  File-〉Write(ReceiveString,Rec

5、eiveString.GetLength());  deletebuffer;  }  CReceiveSocket类的主要代码  voidCReceiveSocket::OnReceive(intnErrorCode)    //接收服务器传来的文件列表消息  CStringReceiveString,Temp;  charbuffer=newchar[4096];  memset(buffer,0,4096);  this-〉Receive(buffer,4096,0);//接收消息  ReceiveString+=buffer;  delete

6、buffer;  //将文件列表从收到的消息字符串中分离出来,并显示在列表框中  while(!ReceiveString.IsEmpty())  {intp=ReceiveString.Find("r");  if(p!=-1)  {Temp=ReceiveString.Left(p);  ReceiveString=ReceiveString.Right(ReceiveString.GetLength()-p-2);  DisplayMessage-〉AddString(Temp);  }  }  }  CPortSocket类主要代码  v

7、oidCPortSocket::OnAccept(intnErrorCode)    //根据不同的标志选择相应的数据连接类,以接受服务器端的数据连接请求  if(Flag==LISTFILE)  //若程序要求对目录进行列表,则采用CReceiveSocket类  {DataSocket=newCReceiveSocket(FileList);  this-〉Accept(DataSocket);  }  elseif(Flag==DOWNLOAD)  //若程序要求下载文件,则生成CFileSocket类的对象  {FileSocket=newC

8、FileSocket(FileName);  this-〉Accept(FileSocket);  }  }  主对话框类CFtpClient-DemoDlg的主要代码    voidCFtpClientDemoDlg::OnFileList()  //响应“文件列表”按钮、列表目录  {CStringTemp;  if(ControlSocket==NULL)    //连接到FTP服务器  ControlSocket=newCCommandSocket(&&m_ReturnMessage);  ControlSocket-〉Create();  

9、m_Server.GetWindowText(Temp);  ControlSocket-〉C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。