?? send_big_file.cpp
字號(hào):
#include "FileDowload.h"//文件服務(wù)器端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){//得到預(yù)傳送的文件名字 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;}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -