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

📄 client.c

📁 unix网络编程第一卷socket编程书上的全部源代码
💻 C
字号:
#include	"unp.h"#define	MAXN	16384		/* max # bytes to request from server */intmain(int argc, char **argv){	int		i, j, fd, nchildren, nloops, nbytes;	pid_t	pid;	ssize_t	n;	char	request[MAXLINE], reply[MAXN];	if (argc != 6)		err_quit("usage: client <hostname or IPaddr> <port> <#children> "				 "<#loops/child> <#bytes/request>");	nchildren = atoi(argv[3]);	nloops = atoi(argv[4]);	nbytes = atoi(argv[5]);	snprintf(request, sizeof(request), "%d\n", nbytes); /* newline at end */	for (i = 0; i < nchildren; i++) {		if ( (pid = Fork()) == 0) {		/* child */			for (j = 0; j < nloops; j++) {				fd = Tcp_connect(argv[1], argv[2]);				Write(fd, request, strlen(request));				if ( (n = Readn(fd, reply, nbytes)) != nbytes)					err_quit("server returned %d bytes", n);				Close(fd);		/* TIME_WAIT on client, not server */			}			printf("child %d done\n", i);			exit(0);		}		/* parent loops around to fork() again */	}	while (wait(NULL) > 0)	/* now parent waits for all children */		;	if (errno != ECHILD)		err_sys("wait error");	exit(0);}

⌨️ 快捷键说明

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