嵌入式客户端向服务器端上传文件

 时间:2024-10-18 19:32:33

1、客户端的代码:(先运行服务器端 ,并且新建一个1.txt文件:Hello world!)#include<stdio.h&爿讥旌护gt;#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<string.h>#include<unistd.h>#include<arpa/inet.h>int main(){ struct sockaddr_in servAddr; memset(&servAddr, 0, sizeof(servAddr)); servAddr.sin_family = PF_INET; servAddr.sin_port = htons(8888); servAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); //socket int cliFd = socket(PF_INET, SOCK_STREAM, 0); if(-1 == cliFd) { perror("socket error!"); return -1; } //connect int ret = connect(cliFd, (struct sockaddr *)&servAddr, sizeof(servAddr)); if(-1 == ret) { perror("connect error!"); close(cliFd); return -1; } printf("connect ok!\n"); char file[100]; printf("请输入要传送的文件名: \n"); gets(file); int fd=open(file,O_RDONLY);//打开文件,读文件 if(-1==fd) { perror("open file error!\n"); return -1; } char buf[100]; memset(buf,0,sizeof(buf));//清空申请的内存空间 while(1) { int re=read(fd,buf,sizeof(buf)); if(0==re) { break; } send(cliFd,buf,re,0); } return 0; }

嵌入式客户端向服务器端上传文件

3、主要设计步骤:(1)创建套接字(不同主机之间的进程进行双向通信的端点)(2)绑定地址信息(bind)(3)发起连接请求(connect)(4)收发消息(send/recv)(5)关闭通信(close)

嵌入式客户端向服务器端上传文件

5、根据思路写出上传文件的实现代码:服务器端:int fd=open("server.txt",O_WRONLY|O_CREAT,0666);if(fd<0){perror("open file error\n");return -1;}char buf[1024]={0};memset(buf,0,sizeof(buf));//清空申请的内存空间while(1){int rec=recv(connFd,buf,sizeof(buf),0);if(0==rec){break;} write(fd,buf,rec);}printf("file copy success\n");//printf("Allowed contents of flies:\n");//puts(buf);客户端:int fd=open(file,O_RDONLY);//打开文件,读文件if(-1==fd){perror("open file error!\n");return -1;}char buf[100];memset(buf,0,sizeof(buf));//清空申请的内存空间while(1){int re=read(fd,buf,sizeof(buf));if(0==re){break;}send(cliFd,buf,re,0);}

嵌入式客户端向服务器端上传文件
  • 在EPLAN里面添加向上端子
  • matlab2010证书过期解决办法
  • VS中如何设置加粗所选选项卡上的文本
  • PotPlayer怎样开启使用时间跳移功能
  • VS2013,VS2015各版本如何打开graphics.h头文件
  • 热门搜索
    辉煌的近义词 齐肩短发发型 怎么写现代诗 沉思近义词 公主发型 感冒头痛怎么办 怎么祛痘坑 java怎么安装 老实的近义词 感冒咳嗽怎么办