社区
C语言
帖子详情
linux下用c语言如何实现ftp传输文件
poptangchen12
2013-12-18 04:46:13
客户端,服务器端两个文件,客户端上传文件给服务器端,从服务器端下载文件,如何实现啊?求代码!!!谢谢大神们!!
...全文
228
3
打赏
收藏
linux下用c语言如何实现ftp传输文件
客户端,服务器端两个文件,客户端上传文件给服务器端,从服务器端下载文件,如何实现啊?求代码!!!谢谢大神们!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
看见繁华
2013-12-18
打赏
举报
回复
这是个从客户端输入一段数据发送给服务器的程序 , 你可以改改。 客户端的:argv【2】是服务器ip,argv【1】是你要输入的数据 。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #define MAXLINE 80 #define SERV_PORT 8000 int main(int argc,char *argv[]) { struct sockaddr_in servaddr; char buf[MAXLINE] = {}; int sockfd, n; char *str; if (argc < 2) { fputs("usage:...../client message\n",stderr); exit(1); } str = argv[1]; sockfd = socket(AF_INET,SOCK_STREAM,0); bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; inet_pton(AF_INET,argv[2],&servaddr.sin_addr); servaddr.sin_port = htons(SERV_PORT); connect(sockfd, (struct sockaddr *) &servaddr,sizeof(servaddr)); write(sockfd,str,strlen(str)); /* n = read(sockfd,buf,MAXLINE); printf("Response fron server:\n"); write(STDOUT_FILENO,buf,n); */ close(sockfd); return 0; } 服务器: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <fcntl.h> #define MAXLINE 80 #define SERV_PORT 8000 int main(void) { struct sockaddr_in servaddr, cliaddr; socklen_t cliaddr_len; int listenfd, connfd; char buf[MAXLINE] = {}; char str[INET_ADDRSTRLEN] = {}; int i, n; char buf1[100] = {0}; int fd; listenfd = socket(AF_INET,SOCK_STREAM,0); bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(SERV_PORT); bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr)); listen(listenfd,20); printf("Accepting connections ...\n"); while(1) { cliaddr_len = sizeof(cliaddr); connfd = accept(listenfd,(struct sockaddr *) &cliaddr, &cliaddr_len); // strcat(buf1,(void *)&cliaddr); // strcat(buf1,"_"); // strcat(buf1,(void *)&cliaddr.sin_port); sprintf(buf1,"%s_%d.txt",inet_ntop(AF_INET,&cliaddr.sin_addr,str,sizeof(str)),ntohs(cliaddr.sin_port)); fd = open(buf1,O_RDWR|O_TRUNC|O_CREAT,0644); while((n = read(connfd,buf,MAXLINE)) > 0) { write(fd,buf,n); } close(fd); // n = read(connfd,buf,MAXLINE); printf("receive from %s at port %d\n",inet_ntop(AF_INET,&cliaddr.sin_addr,str,sizeof(str)),ntohs(cliaddr.sin_port)); /* for (i = 0;i < n;i++) buf[i] = toupper(buf[i]); */ write(connfd,buf,n); close(connfd); } }
帅得不敢出门
2013-12-18
打赏
举报
回复
用libcurl吧
bfdeh
2013-12-18
打赏
举报
回复
随便一搜一大把,你都舍不得用下搜索引擎?
linux
下用
c语言
实现
简单的
FTP
客户端
再
linux
下用
c语言
实现
简单的
ftp
实现
了二进制
文件
的
传输
,上传 列举
文件
目录,推出等功能
ubuntu
linux
下
C语言
实现
FTP
批量
文件
上传
在ubuntu
linux
下
实现
的
FTP
文件
上传,程序自动监听目录下是否有图片
文件
,有
文件
则自动通过
FTP
上传到服务器端,同时删除目录下的
文件
,
实现
了批量
文件
上传,自动重命名
文件
,程序经测试,运行稳定。
linux
下
c语言
高级编程入门
本课程主要学习
linux
下的各种API以及
linux
下常用命令的使用,从开发环境的搭建到一行一行的编写小示例来完成各个API的调用,通过学习本课程可以很轻松进入
linux
、
C语言
高级编程的世界。
linux
下
C语言
实现
FTP
上传
文件
源码200行代码
linux
下
C语言
实现
FTP
上传
文件
源码 一个函数搞定
FTP
上传 直接编译可用 int main() {
ftp
_upload("ipx.xxx.xxx.xxx",21,"username","password","./main.c","upload_name"); return 0; }
C语言
实现
FTP
上传
文件
(支持windows和
linux
)
C语言
实现
FTP
上传
文件
(支持windows和
linux
和ARM的交叉编译环境)
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章