博客日历
2024年05月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
29 | 30 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 | 1 | 2 |
存档
2024年03月 04月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
libncftp的基本用法
#include <ncftp.h>
#pragma comment(lib,"libncftp.lib")
#pragma comment(lib,"sio.lib")
#pragma comment(lib,"Strn.lib")
void upload()
{
InitWinsock();
FTPLibraryInfo m_li;
FTPInitLibrary(&m_li);
FTPConnectionInfo m_ci;
FTPInitConnectionInfo(&m_li, &m_ci, kDefaultFTPBufSize);
//进度指示
m_ci.useProgressMeter = 1;
//进度指示回调函数
m_ci.progress = ProcFTPProgressMeter;
//登录
strncpy(m_ci.host, "localhost", sizeof(m_ci.host) - 1);
strncpy(m_ci.user, "username", sizeof(m_ci.user) - 1);
strncpy(m_ci.pass, "password", sizeof(m_ci.pass) - 1);
int ret = FTPOpenHost(&m_ci) ;
assert(ret == 0);
//上传文件
int result = FTPPutFiles3(
&m_ci,
"C:\\test.txt",
"/",
kRecursiveNo,
kGlobYes,
kTypeBinary,
kAppendNo,
NULL,
".tmp",
kResumeNo,
kDeleteNo,
ProcFTPConfirmResumeUpload, //文件已存在的处理方式回调函数
0);
assert(ret == 0);
//重命名文件
int result = FTPRename(
&m_ci,
"/test.txt",
"/1-1-test.txt");
assert(ret == 0);
//退出登录
FTPAbortDataTransfer(&m_ci);
FTPCloseHost(&m_ci);
DisposeWinsock();
}
int ProcFTPConfirmResumeUpload(
const FTPCIPtr cip,
const char *localpath,
longest_int localsize,
time_t localmtime,
const char **remotepath,
longest_int remotesize,
time_t remotetime,
longest_int *startPoint)
{
return kConfirmResumeProcSaidOverwrite;
/*
//可以根据自己的需要返回如下值
kConfirmResumeProcSaidSkip
kConfirmResumeProcSaidResume
kConfirmResumeProcSaidOverwrite
kConfirmResumeProcSaidAppend
kConfirmResumeProcSaidBestGuess
*/
}
void ProcFTPProgressMeter(const FTPCIPtr f, int status)
{
if ( status == kPrInitMsg )
{
}
else if (status == kPrEndMsg )
{
}
else if (status==kPrUpdateMsg )
{
//percentCompleted=f->percentCompleted;
//kBytesPerSec=f->kBytesPerSec;
//bytesTransferred=f->bytesTransferred;
}
}
这段代码基于libncftp-3.2.5。
参考网站:
http://www.ncftp.com/libncftp/
http://www.ibm.com/developerworks/cn/aix/library/au-ncftp_flex/
分类:Win32/C++ 查看次数:6108 发布时间:2013/4/20 10:42:23
Debian下安装samba服务
0.简介
samba是基于NETBIOS协议的文件共享服务。
samba是基于NETBIOS协议的文件共享服务。
1.安装
apt-get install samba
2.设置可以连接的用户
smbpasswd -a <用户名>
注意这里的<用户名>是操作系统中存在的用户。
3.修改配置
vi /etc/samba/smb.conf
[global]
security = user
security = user
#特殊共享目录,用户的home目录
[homes]
read only = no
create mask = 0755
directory mask = 0755
[homes]
read only = no
create mask = 0755
directory mask = 0755
#自己增加的共享目录
[opt]
path = /opt
browseable = yes
read only = no
create mask = 0755
directory mask = 0755
valid users = vod
available = yes
[opt]
path = /opt
browseable = yes
read only = no
create mask = 0755
directory mask = 0755
valid users = vod
available = yes
改完参数记得要重启:
service samba stop
service samba start
或者:
/etc/init.d/samba restart
4.使用方法
4.1 Windows下访问
如同Windows的文件共享。
4.1 Windows下访问
如同Windows的文件共享。
4.2 Debian/Linux下访问
apt-get install smbclient
之后可以使用smbclient来操作。
apt-get install smbclient
之后可以使用smbclient来操作。
参考:
http://yuanbin.blog.51cto.com/363003/115761/
http://blog.sina.com.cn/fanjunchengspace
http://www.51cto.com/html/2005/1202/12843.htm
http://yuanbin.blog.51cto.com/363003/115761/
http://blog.sina.com.cn/fanjunchengspace
http://www.51cto.com/html/2005/1202/12843.htm
分类:Linux 查看次数:3604 发布时间:2013/4/12 18:56:03