100分~那里有bcb实现的ftp类?不想用indy来写,每次维护起来都很麻烦,都要重新安装indy

CppFile 2008-10-27 08:40:02
indy不太喜欢,想自己写一个ftp上传的类,不知道那里有相关的资料呢?
...全文
151 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
痞子酷 2008-10-31
  • 打赏
  • 举报
回复
直接SOCKET API 写一个ftp类不就有了吗
laowang2 2008-10-30
  • 打赏
  • 举报
回复
___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 写

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧