首页 > 其他分享 >文件上传服务器项目总结

文件上传服务器项目总结

时间:2022-09-26 18:13:47浏览次数:49  
标签:总结 文件 buf sum ret content 服务器 上传

需求:创建一个文件服务器;要求保存客户端上传的所有文件,100 个并发,每个并发客户端上传文件100次

以下是核心代码

首先是客户端发送文件:

        for (sum = 0; sum < size;)
        {
            memset(bufcontent, 0x0, sizeof(bufcontent));
            ret = fread(bufcontent, 1, 1240, fp);
            if (ret < 0)
            {
                perror("read error!");
                break;
            }
            if (0 > (ret = Sendn(sockfd, bufcontent, ret)))
            {
                perror("send error!");
                break;
            }
            sum += ret;
        }

然后是服务端接收代码文件:

 1 for (sum = 0; sum < iFileLength;)
 2         {
 3             if (iFileLength - sum < 1240)
 4             {
 5                 ret = recv(connfd, content_buf, iFileLength - sum, 0);
 6             }
 7             else
 8             {
 9                 ret = recv(connfd, content_buf, 1240, 0);
10             }
11             if (ret < 0)
12             {
13                 perror("Recvn error!");
14                 return NULL;
15             }
16             C_LOG(LOG_DEBUG, "接收到%d字节数\n", ret);
17             ret = fwrite(content_buf, 1, ret, fp);
18             if (ret < 0)
19             {
20                 perror("fwrite error!");
21                 return NULL;
22             }
23             sum += ret;
24             memset(content_buf, 0, sizeof(content_buf));
25         }

 亲测上传1万个文件,每个1m,时长为13分钟(受网速影响)

标签:总结,文件,buf,sum,ret,content,服务器,上传
From: https://www.cnblogs.com/xingming/p/16731858.html

相关文章