TCP回射客户程序:str_cli函数

str_cli函数完成客户处理循环:

从标准输入读入一行文本,写到服务器上,读回服务器对该行的回射,并把回射行写到标准输出上

 

读入一行,写到服务器

fgets读入一行文本,writen把该行发送给服务器

 

从服务器读入回射行,写到标准输出

readline从服务器读入回射行,fputs把它写到标准输出

 

返回main函数

当遇到文件结束符或错误时,fgets将返回一个空指针,于是客户处理循环终止

我们的Fgets函数检查是否发生错误,若发生则中止进程,因此Fgets只是在遇到文件结束符时才返回一个空指针

 

#include	"unp.h"

void
str_cli(FILE *fp, int sockfd)
{
	char	sendline[MAXLINE], recvline[MAXLINE];

	while (Fgets(sendline, MAXLINE, fp) != NULL) {

		Writen(sockfd, sendline, strlen(sendline));

		if (Readline(sockfd, recvline, MAXLINE) == 0)
			err_quit("str_cli: server terminated prematurely");

		Fputs(recvline, stdout);
	}
}

  

posted @ 2016-04-04 19:16  ailx10  阅读(673)  评论(0编辑  收藏  举报