我只可以提示提示一些代码, 查查 MSDN 的 ftp 类, 1、生成CInternetSession变量。
CInternetSession ses;2、打开FTP连接。
CFtpConnection* pFTP=ses.GetFtpConnection(
"ftp.microsoft.com","user","password",port,FALSE);3、打开文件。
CInternetFile* pF=pFTP->OpenFile("abc.exe");
简单的是使用 CFtpConnect::GetFile(...) ;
CFtpConnection::PutFile(...) ;
可以拷贝文件。
4、读取文件 pF->Read(...)高级用法:1、查找文件,列文件目录。(FTP Tree Sample in VC5) CFTPFileFind类可以列出当前目录下的所有文件,和CFileFind相同。2、断点续传。 使用CInternetFile::Seek(...)重定位指针。其它: 同样的CHttpConnection的用法也很类似。
CInternetSession ses;2、打开FTP连接。
CFtpConnection* pFTP=ses.GetFtpConnection(
"ftp.microsoft.com","user","password",port,FALSE);3、打开文件。
CInternetFile* pF=pFTP->OpenFile("abc.exe");
简单的是使用 CFtpConnect::GetFile(...) ;
CFtpConnection::PutFile(...) ;
可以拷贝文件。
4、读取文件 pF->Read(...)高级用法:1、查找文件,列文件目录。(FTP Tree Sample in VC5) CFTPFileFind类可以列出当前目录下的所有文件,和CFileFind相同。2、断点续传。 使用CInternetFile::Seek(...)重定位指针。其它: 同样的CHttpConnection的用法也很类似。
UINT dwSize;//本结构长度
TCHAR filename[_MAX_PATH];
TCHAR message[200];//oicq附的消息长度
}在对方收到上述结构后,一方面初始化对方的用户显示知道要传来什么.及多长。由用户决定是否接受,在点击接受或拒绝后,回送一个(确认,收到的长度).struct DataAck{
WORD dwSize ;//消息长度
DWORD id;//最好加一个消息id.
BOOL bAccept;//定义是否接收
UINT dwRecvSize;//收到的长度
}在收到确认,如果长度和发送的相等,就可以放心传输了file的内容.双方都打开文件,
一边读文件发数据,一边收数据并写入文件.如果真正要做好还要做很多错误处理。比如中途连接中断,这时要重新建立连接,并
进行断点续传.计时器的设置(如果Send老是返回0,超过一定时间),用户中途中断.等等
这时还要规定相应的握手协议.
再说那是服务器和客户机间的.CSocket是应答方式也不行.只有用CSocketFile类了
但是你须保证服务器和客户机都是支持MFC的就行,注意CSOCKETFILE 不同CFile 用法的地方!!
要的话MAIL :[email protected]