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

📄 send_big_file_old.cpp

📁 文件传输
💻 CPP
字号:
#include "send_big_file_old.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;        }        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 + -