UNIX網路程式設計學習(13)--使用select的str_cli函式的實現
//select/strcliselect01.c
#include "unp.h"
void
str_cli(FILE *fp,int sockfd)
{
int maxfdp1;
fd_set rset;
char sendline[MAXLINE],recvline[MAXLINE];
FD_ZERO(&rset);
for(; ;)
{
FD_SET(fileno(fp),&rset);
FD_SET(sockfd,&rset);
maxfdp1=max(fileno(fp),sockfd)+1;
Select(maxfdp1,&rset,NULL,NULL,NULL);
if(FD_ISSET(sockfd,&rset))
{
if(Readline(sockfd,recvline,MAXLINE) == 0)
err_quit("str_cli:server terminated prematurely");
Fputs(recvline,stdout);
}
if(FD_ISSET(fileno(fp),&rset))
{
if(Fgets(sendline,MAXLINE,fp) == NULL)
return;
Writen(sockfd,sendline,strlen(sendline));
}
}
}
相關文章
- UNIX網路程式設計學習(14)--使用select正確處理EOF的str_cli函式修訂版程式設計函式
- UNIX網路程式設計學習(15)--使用單程式和select的TCP伺服器程式程式設計TCP伺服器
- UNIX 網路程式設計學習(7)--readn,writen,readline的實現程式設計
- select函式socket程式設計函式程式設計
- UNIX網路程式設計學習(16)--使用poll的TCP伺服器程式程式設計TCP伺服器
- UNIX網路程式設計學習(12)--對兩個數求和的str_echo函式-以及sscanf的用法程式設計函式
- 如何開始函式程式設計的學習?函式程式設計
- Linux/Unix C程式設計之的perror函式,strerror函式,errnoLinuxC程式程式設計Error函式
- 《UNIX網路程式設計》筆記 - select和poll程式設計筆記
- 13.程式程式設計進階:函式程式設計函式
- 人人都能學會的python程式設計教程13:遞迴函式Python程式設計遞迴函式
- Python學習之路25-使用一等函式實現設計模式Python函式設計模式
- 好程式設計師學習筆記:函式程式設計師筆記函式
- 好程式設計師web前端學習路線分享函式基礎程式設計師Web前端函式
- 好程式設計師大資料學習路線分享UDF函式程式設計師大資料函式
- UNIX網路程式設計學習(9)--getsockname和getpeername的用法及例項程式設計
- UNIX網路程式設計學習(4)--值-結果引數程式設計
- 使用高階函式實現類的擴充套件設計函式套件
- python程式設計學習筆記⑦-1函式Python程式設計筆記函式
- 好程式設計師大資料學習路線分享高階函式程式設計師大資料函式
- 好程式設計師大資料學習路線hive內部函式程式設計師大資料Hive函式
- 好程式設計師Java學習路線分享JavaEE的13種核心技術程式設計師Java
- Unix哲學(Unix程式設計藝術)程式設計
- Unix程式設計藝術,Unix哲學程式設計
- UNIX系統程式設計常用庫函式說明(轉)程式設計函式
- UNIX安全程式設計及庫函式說明(轉)程式設計函式
- 好程式設計師web前端學習路線分享web測試之Js中的函式程式設計師Web前端JS函式
- spark RDD的學習,filter函式的學習,split函式的學習SparkFilter函式
- Python學習(13)--Lambda表示式和switch語句的實現Python
- python程式設計:從入門到實踐學習筆記-函式Python程式設計筆記函式
- muduo網路庫學習筆記(11):有用的runInLoop()函式筆記OOP函式
- javascript函數語言程式設計: 優雅的使用underscore進行函式程式設計JavaScript函數程式設計函式
- UNIX網路程式設計 卷2 原始碼使用程式設計原始碼
- 學習PHP中統計擴充套件函式的使用PHP套件函式
- DDD的函數語言程式設計實現函數程式設計
- 函式的學習函式
- 好程式設計師Java學習路線分享原生Ajax的使用程式設計師Java
- 好程式設計師大資料學習路線分享函式+map對映+元祖程式設計師大資料函式