⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 send_big_file.cpp

📁 文件传输
💻 CPP
字号:
#include "FileDowload.h"//文件服务器端int main(int argc, char* argv[]){    int connfd, sockfd;    char file_name[20];    struct sockaddr_in servaddr;    struct sockaddr_in tempaddr;    struct sockaddr_in cliaddr;    socklen_t clilen;    socklen_t templen;    size_t number_bytes;    if((sockfd = socket(AF_INET, SOCK_STREAM,0)) == -1){      perror("socket");      exit(1);    }    bzero(&servaddr,sizeof(servaddr));    servaddr.sin_family = AF_INET;    servaddr.sin_addr.s_addr = htonl(INADDR_ANY);    servaddr.sin_port = 0;clilen = sizeof(cliaddr);    if (bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr)) == -1){        perror("bind");        exit(1);    }    templen = sizeof(struct sockaddr);    if (getsockname(sockfd, (struct sockaddr *)&tempaddr,&templen) == -1){        perror("getsockname");        exit(1);    }    printf("Server is listening on port %d\n",ntohs(tempaddr.sin_port));    if (listen(sockfd,BACKLOG) == -1){        perror("listen");        exit(1);    }    //传送文件    for(;;){        clilen = sizeof(cliaddr);        connfd = accept(sockfd,(struct sockaddr *)&cliaddr,&clilen);        if(connfd == -1){            perror("accept");            continue;        }        //        if(read_cmd(connfd,file_name,sizeof(file_name))==-1){//得到预传送的文件名字            printf("read file name error!\n");            close(connfd);            continue;        }        cout<<file_name<<endl;        if(send_file(connfd, file_name)==-1){//传送文件            printf("Send file error\n");        }        close(connfd);    }    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -