社区
网络及通讯开发
帖子详情
100分~那里有bcb实现的ftp类?不想用indy来写,每次维护起来都很麻烦,都要重新安装indy
CppFile
2008-10-27 08:40:02
indy不太喜欢,想自己写一个ftp上传的类,不知道那里有相关的资料呢?
...全文
246
8
打赏
收藏
100分~那里有bcb实现的ftp类?不想用indy来写,每次维护起来都很麻烦,都要重新安装indy
indy不太喜欢,想自己写一个ftp上传的类,不知道那里有相关的资料呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
痞子酷
2008-10-31
打赏
举报
回复
直接SOCKET API 写一个ftp类不就有了吗
laowang2
2008-10-30
打赏
举报
回复
http://www.vckbase.com
___NULL
2008-10-29
打赏
举报
回复
那就用 socket ,非常直接的操作方式
cczlp
2008-10-28
打赏
举报
回复
呵呵, 用socket到www.vckbase.com找, 有源码的
yeah920
2008-10-28
打赏
举报
回复
学习了。帮你顶
jaffy
2008-10-28
打赏
举报
回复
你是想写客户端还是服务端啊,我觉得INDY挺好的,我的报表上传都是用他的,两年了,都没什么问题
yuanreid
2008-10-27
打赏
举报
回复
今天刚收藏的FTP代码,共享出来:
class CFtp
{
private:
HINTERNET m_hInetSession;
HINTERNET m_hFtpSession;
public:
LPTSTR Username;
LPTSTR Password;
LPTSTR Host;
public:
CFtp(void);
~CFtp(void);
BOOL Connect(void);
BOOL Disconnect(void);
BOOL ChangeDir(LPCSTR lpszDir);
BOOL Get(LPCSTR lpszSourceFile, LPCSTR lpszDestFile, const BOOL bOverwrite = FALSE, BOOL bResume = FALSE);
BOOL Put(LPCSTR ASourceFile, LPCSTR ADestFile = "", const BOOL bAppend = FALSE);
};
CFtp::CFtp(void)
{
m_hInetSession = InternetOpen(NULL,
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,
NULL,
INTERNET_FLAG_ASYNC);
Username = NULL;
Password = NULL;
Host = NULL;
m_hFtpSession = NULL;
}
CFtp::~CFtp(void)
{
InternetCloseHandle(m_hInetSession);
}
BOOL CFtp::Connect(void)
{
if (m_hInetSession == NULL) {
return FALSE;
}
m_hFtpSession = InternetConnect(m_hInetSession,
Host,
INTERNET_DEFAULT_FTP_PORT,
Username,
Password,
INTERNET_SERVICE_FTP,
INTERNET_FLAG_PASSIVE,
0);
return m_hFtpSession != NULL;
}
BOOL CFtp::Disconnect(void)
{
return InternetCloseHandle(m_hFtpSession);
}
BOOL CFtp::ChangeDir(LPCSTR lpszDir)
{
return FtpSetCurrentDirectory(m_hFtpSession, lpszDir);
}
BOOL CFtp::Get(LPCSTR lpszSourceFile, LPCSTR lpszDestFile,
const BOOL bOverwrite, BOOL bResume )
{
return FtpGetFile(m_hFtpSession,
lpszSourceFile,
lpszDestFile,
!bOverwrite,
FILE_ATTRIBUTE_NORMAL,
FTP_TRANSFER_TYPE_BINARY | INTERNET_FLAG_RELOAD,
0);
}
BOOL CFtp::Put(LPCSTR lpszSourceFile, LPCSTR lpszDestFile, const BOOL bAppend)
{
return FtpPutFile(m_hFtpSession,
lpszSourceFile,
lpszDestFile,
INTERNET_FLAG_TRANSFER_BINARY,
0);
}
CppFile
2008-10-27
打赏
举报
回复
补充一下,用socket 写
ftp
协议
实现
多线程断点续传
本文介绍如何使用
FTP
协议
实现
多线程断点续传功能,包括使用
BCB
开发环境、
FTP
命令详解及多线程下载技术,重点讲述断点续传的文件保存技巧。
VC中
ftp
协议
实现
多线程断点续传
本文介绍了
FTP
多线程下载和断点续传技术。先讲解了部
分
FTP
协议及命令使用,包括建立连接、登录、获取文件大小等。接着介绍了断点续传文件保存技巧,有两种方式。最后阐述多线程下载时文件
分
块、线程任务
分
配与调整,以及配置文件格式等内容。
FTP
多线程下载
本文详细介绍使用
FTP
协议
实现
多线程下载的技术细节,包括如何建立连接、利用REST和RETR命令
实现
断点续传,以及如何通过创建内容文件和配置文件来管理下载进度。
FTP
技术
本文介绍如何使用
FTP
协议
实现
多线程断点续传功能,包括使用
FTP
命令建立连接、设置文件
类
型及断点续传的具体
实现
方法。
VC中
ftp
协议
实现
多线程断点续传(转)
本文介绍如何在VC环境中利用
FTP
协议
实现
多线程断点续传功能,包括使用命令如USER、PASS、REST等建立连接及进行文件传输的方法,并讨论了文件保存技巧。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章