TCP回射客户程序:str_cli函数

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

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

 

读入一行,写到服务器

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

 

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

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

 

返回main函数

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

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#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 @   ailx10  阅读(685)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示