IO的多路复用和信号驱动(二)

2015-07-26 13:14:24 · 作者: · 浏览: 89
ET,"127.0.0.1",&addr.sin_addr);


? ? if(connect(fd,(struct sockaddr*)&addr,sizeof(addr)) != -1)
? ? ? ? printf("connect success!\n");
? ? else
? ? ? ? exit(-1);


? ? int flag = fcntl(fd,F_GETFL);
? ? flag |= O_ASYNC;
? ? fcntl(fd,F_SETFL,flag);
? ? fcntl(fd,F_SETOWN,getpid());


? ? char buffer[1024]={0};
? ? for(;;)
? ? {
? ? ? ? int n = read(0,buffer,sizeof(buffer));
? ? ? ? if(n==-1)
? ? ? ? ? ? break;
? ? ? ? send(fd,buffer,n,0);
? ? }


? ? write(1,"Closed.",strlen("Closed."));
}