📄 send_big_file_old.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 + -