当前位置: 技术问答>linux和unix
请问:为什么自己编的程序不能传输文件成功
来源: 互联网 发布时间:2016-12-12
本文导语: 我的机器是XP,上面装IIS,并打开了FTP服务,我的虚拟机是CentOS 5.3的, 我在虚拟机上写了个程序,是模拟FTP的,请看: skc=socket(AF_INET,SOCK_STREAM,0); //设置FTP服务器 struct sockaddr_in adds; struct ...
我的机器是XP,上面装IIS,并打开了FTP服务,我的虚拟机是CentOS 5.3的,
我在虚拟机上写了个程序,是模拟FTP的,请看:
skc=socket(AF_INET,SOCK_STREAM,0);
//设置FTP服务器
struct sockaddr_in adds;
struct in_addr inp;
bzero(&adds,sizeof(struct sockaddr_in));
inet_aton("192.168.1.6",&inp); //服务器IP地址
adds.sin_family=AF_INET;
adds.sin_addr=inp;
adds.sin_port=htons(21); //FTP端口
//connect to server
connect(skc,(struct sockaddr*)&adds,sizeof(struct sockaddr));//是成功的
//发送用户名
send(skc,user,strlen(user),0);//这里的chae user[]="USER usernamern";
//发送口令
send(skc,passwd,strlen(passwd),0);//char passwd[]="PASS passwdn";
//发送客户端端口号
send(skc,cport,strlen(cport),0);//char cport[]="PORT 6235n",端口号随便取的
//设置ASCII模式
send(skc,typestr,strlen(typestr),0);//char typestr[]="TYPE An";
//从服务器上获得文件10.c
send(skc,cmds,strlen(cmds),0);//char cmds[]="RETR 10.cn";
//退出
send(skc,qexit,strlen(qexit),0);//char qexit[]="QUITn";
并且每次发送完,我还用recv(skc,bufrecv,100,0)去取返回信息,每次都是成功的,
没有看到错误提示,可是就是没有取得文件,请问错在哪了?怎么改?
我在虚拟机上写了个程序,是模拟FTP的,请看:
skc=socket(AF_INET,SOCK_STREAM,0);
//设置FTP服务器
struct sockaddr_in adds;
struct in_addr inp;
bzero(&adds,sizeof(struct sockaddr_in));
inet_aton("192.168.1.6",&inp); //服务器IP地址
adds.sin_family=AF_INET;
adds.sin_addr=inp;
adds.sin_port=htons(21); //FTP端口
//connect to server
connect(skc,(struct sockaddr*)&adds,sizeof(struct sockaddr));//是成功的
//发送用户名
send(skc,user,strlen(user),0);//这里的chae user[]="USER usernamern";
//发送口令
send(skc,passwd,strlen(passwd),0);//char passwd[]="PASS passwdn";
//发送客户端端口号
send(skc,cport,strlen(cport),0);//char cport[]="PORT 6235n",端口号随便取的
//设置ASCII模式
send(skc,typestr,strlen(typestr),0);//char typestr[]="TYPE An";
//从服务器上获得文件10.c
send(skc,cmds,strlen(cmds),0);//char cmds[]="RETR 10.cn";
//退出
send(skc,qexit,strlen(qexit),0);//char qexit[]="QUITn";
并且每次发送完,我还用recv(skc,bufrecv,100,0)去取返回信息,每次都是成功的,
没有看到错误提示,可是就是没有取得文件,请问错在哪了?怎么改?
|
这个只是控制连接,用来传输指令
你还有创建数据连接,用来传输数据
你还有创建数据连接,用来传输数据
|
这个只是控制连接,用来传输指令
你还有创建数据连接,用来传输数据
你还有创建数据连接,用来传输数据
|
这个只是控制连接,用来传输指令
你还有创建数据连接,用来传输数据
你还有创建数据连接,用来传输数据
|
晕,队伍好整齐
你还要创建数据连接,用来传输数据
在网是搜一下ftp客户端
你还要创建数据连接,用来传输数据
在网是搜一下ftp客户端