?? 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 + -