不清楚ftp,程序要求可以在任何地方的计算机可以互相传文件,听说ftp可以实现,但是ftp是不是必须建立服务端呢?如果我要实现上述目的,有没有什么源码可以下载,请帮忙,多谢了

解决方案 »

  1.   

    this->UpdateData();
    if(m_hInetSession == NULL)
    {
    m_hInetSession = InternetOpen(("Microsoft Internet Explorer"),
    INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
    }
    if(m_hInetSession == NULL)
    return; INTERNET_STATUS_CALLBACK dwISC;
    dwISC = InternetSetStatusCallback(m_hInetSession,InternetCallback);
    if (INTERNET_INVALID_STATUS_CALLBACK == dwISC)
    {
    ASSERT(0);
    }
    m_hFtpConn=InternetConnect(m_hInetSession,m_servername,21,
    m_username,m_pass,INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,(DWORD)this);
    if(m_hFtpConn == NULL)
    {
    OutPutString("连接失败!");
    return;
    }
    OutPutString("连接成功....");  if(m_dir.GetLength())
    {
    CString strDebug;
    if(FtpSetCurrentDirectory(m_hFtpConn,m_dir))
    {
    strDebug.Format("进入目录 %s",m_dir);
    }else
    {
    strDebug.Format("没有找到目录 %s",m_dir);
    }
    OutPutString(strDebug); 
    }

      

  2.   

    if(m_hFtpConn == NULL)
    {
    ShowString("请重新连接!");
    return;
    }
    BOOL bResult = ::FtpGetFile(
    m_hFtpConn,
    "download.ini",
    "downloadnew.ini",
    FALSE,
    FILE_ATTRIBUTE_NORMAL,
    FTP_TRANSFER_TYPE_BINARY|INTERNET_FLAG_NO_CACHE_WRITE,
    (DWORD)this);
    if(bResult)
    {
    OutPutString("下载成功!");
    }else
    {
    int erro = GetLastError();
    OutPutString("下载失败!");
    }
      

  3.   

    if(m_hFtpConn == NULL)
    {
    ShowString("请重新连接!");
    return;
    }
    CFileDialog filedlg(true);
    filedlg.m_ofn.lpstrFilter = "新闻文件与图标配置文件 (*.stc)\0*.stc\0txt(*.txt)\0txt.txt\0\0";
    CString filename;
    if(IDOK == filedlg.DoModal())
    {
    filename = filedlg.GetPathName();
    }
    if(filename.GetLength() ==0 )
    return;

    CSplitPath path(filename);

    BOOL bResult = ::FtpPutFile(
    m_hFtpConn,
    filename,
    path.GetFullName(),
    INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_TRANSFER_BINARY ,
    (DWORD)this);
    if(bResult)
    {
    OutPutString("上载文件成功!");
    }else
    {
    OutPutString("上载文件失败!");
    return;
    }
      

  4.   

    如果只是简单的传文件的话不用FTP这么复杂,直接用Socket就好了,很简单的
    详见这篇文章
    http://www.csdn.net/develop/article/22/22196.shtm
      

  5.   

    如果FTP没有FTP服务器,还叫FTP吗?
      

  6.   

    建议自己写程序吧,因为你要互传文件,FTP是没有办法由服务端主动传输给客户端的,所有的均是客户端请求下载或上传
      

  7.   

    sjzxyg(小小鸟) 的话对我很重要,如果要是这样的话我不得不在每一个需要传递文件的地方建立一个ftp服务了,这和我要求互传文件的目的相违背,多谢诸位参与