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

📄 xqd_client.c

📁 这是一个简单的复数计算器
💻 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 + -