📄 xqd_client.c
字号:
#include <stdio.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <netdb.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#define SERVPORT 3333#define MAXDATASIZE 100main(int argc,char *argv[]){ int sockfd,recvbytes,server_fd,size,fd; char buf[MAXDATASIZE]; struct hostent *host; struct sockaddr_in serv_addr; if(argc < 2){ fprintf(stderr,"Please enter the server's hostname!\n"); exit(1); } if((host=gethostbyname(argv[1]))==NULL){ perror("gethostbyname"); exit(1); } if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1){ perror("socket"); exit(1); } serv_addr.sin_family=AF_INET; serv_addr.sin_port=htons(SERVPORT); serv_addr.sin_addr=*((struct in_addr *)host->h_addr); bzero(&(serv_addr.sin_zero),8); if(connect(sockfd,(struct sockaddr *)&serv_addr,\ sizeof(struct sockaddr))==-1){ perror("connect"); exit(1); } if((fd=open("./hello2.c",O_CREAT|O_TRUNC|O_WRONLY,0600))<0) { perror("open:"); exit(1); } while((recvbytes=recv(sockfd,buf,MAXDATASIZE,0))>=1) { if((size=write(fd,buf,100))<0) { perror("write:"); exit(1); } } printf("Received a file!\n"); close(sockfd);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -