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

📄 client.c

📁 面向连接的Socket实例: 代码实例中的服务器通过socket连接向客户端发送字符串"Hello, you are connected!"。只要在服务 器上运行该服务器软件
💻 C
字号:
/***	socket client**/#include  <stdio.h>#include  <netdb.h>#include  <sys/socket.h>#include  <netinet/in.h>/*#include	<time.h>*/#define SERVPORT 9800 #define MAXDATASIZE 100 /*每次最大数据传输量 */ main(int argc, char *argv[]){	int sockfd, recvbytes;	char buf[MAXDATASIZE];	struct hostent *host;	struct sockaddr_in serv_addr;	time_t	tt;	/*	if (argc < 2) {		fprintf(stderr,"Please enter the server's hostname!n");		exit(1);	}	if((host=gethostbyname(argv[1]))==NULL) {		herror("gethostbyname出错!");		exit(1);	}	*/	host=gethostbyname("10.179.89.150");	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);	}	time( &tt );    printf("CLIENT receive at  %s\n", ctime( &tt ));	if ((recvbytes=recv(sockfd, buf, MAXDATASIZE, 0)) ==-1) {		perror("recv出错!");		time( &tt );    printf("CLIENT receive err at  %s\n", ctime( &tt ));		exit(1);	}	time( &tt );    printf("CLIENT receive over at  %s\n", ctime( &tt ));	printf( "CLIENT recv [%s]!\n", buf);	close( sockfd );	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -