1.非阻塞网络程序--服务器端
由于套接字是一种特殊的文件,因此,可以使用更改文件阻塞状态的方法修改套接字的阻塞状态。
当套接字被设置为非阻塞状态时,如果对数据暂不可用的套接字进行读写操作,读写函数会返回-1,并置errno为EAGAIN,表示当前数据不可用。
下例同样演示大小写字母转换的程序。
//server.c
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <ctype.h>
#include <sys/socket.h>
#include <netient/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#define MAX_LINE 100
void my_fun(char * p)
{
if(p==NULL)
return ;
for(;*p!='/0';p++)
if(*p>='A'&&*p<='Z')
*p=*p-'A'+'a';
}
int main()
{
struct sockaddr_in sin;