网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
用VC++编制FTP客户端应用程序
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
的对应控制

   Temp="PASS "+Temp+"\r\n";

   ControlSocket-〉Send(Temp,Temp.GetLength(),0);

  //发Pass命令,校验口令

   LisentPort(LISTFILE);

  //数据连接的对象为目录列表

   ControlSocket-〉Send("LIST \r\n",7 ,0);

  //发List命令,要求列表目录

  }

  void CFtpClientDemoDlg::OnDownLoad( )

  //下载文件

  {

   CString String;

   LisentPort(DOWNLOAD);

  //获得要下戴文件的文件名

   m_LocalFile.GetWindowText(String);

  // m_LocalFile为“文件名”编辑框的对应控制

   String="RETR "+String+"\r\n";

   ControlSocket-〉Send(String,String.GetLength( ),0);

  //发RETR命令,下载文件

  }

  void CFtpClientDemoDlg::LisentPort(UINT Flag)

  {

  //根据要求选择不同的数据连接对象

   if(LisentSocket!=NULL)

  //清空LisentSocket

   { LisentSocket-〉Close();

   delete LisentSocket;

   LisentSocket=NULL;

   }

   if(Flag= =LISTFILE)

  //如果为目录列表数据连接对象

   { LisentSocket=new CPortSocket(LISTFILE);

   LisentSocket-〉SetListBox(&&m_FileList);

  //传列表框到CLisentSocket类中

   }

   else if(Flag= =DOWNLOAD)

  //如果为文件传输数据连接对象

   { CString String;

   m_LocalFile.GetWindowText(String);

   LisentSocket=new CPortSocket(DOWNLOAD);

   LisentSocket-〉SetFileName(String);

  //传文件名到CLisentSocket类中

   }

   LisentSocket-〉Create();

  //建立Socket并进行监听,等待FTP服务器进行数据连接

   LisentSocket-〉Listen();

  //取得数据连接Socket的IP地址和监听端口,并把它们作为Port命令的参数

   SOCKADDR_IN listing_address, control_address;

   int addr_size;

   addr_size = sizeof(listing_address);

   LisentSocket-〉GetSockName((SOCKADDR )&&listing_address, &&addr_size); //
取IP地址

   ControlSocket-〉GetSockName((SOCKADDR )&&control_address, &&addr_size); /
/取端口

  unsigned char port = (unsigned char )&&(listing_address.sin_port);

   unsigned char host = (unsigned char )&&(control_address.sin_addr);

   CString strBuffer;

   strBuffer.Format("PORT %i,%i,%i,%i,%i,%i\r\n",(int)host[0], (int)host, (
int)host, (int)host,(int)port[0], (int)port);

   ControlSocket-〉Send(strBuffer,strBuffer.GetLength(),0);

  //发送Port命令,进行数据连接

  }

  以上代码在VC++ 6.0、Windows 98上运行通过。

  • 下一篇资讯: MFC消息响应机制分析
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号