linux下将socket设置为非阻塞的方法

用以下方法将socket设置为非阻塞方式 
int flags = fcntl(socket, F_GETFL, 0); 
fcntl(socket, F_SETFL, flags | O_NONBLOCK);

将非阻塞的设置回阻塞可以用

int flags = fcntl(socket, F_GETFL, 0); 
fcntl(socket, F_SETFL, flags & ~O_NONBLOCK);


功能描述:根据文件描述词来操作文件的特性。

用法: 
int fcntl(int fd, int cmd); 
int fcntl(int fd, int cmd, long arg); 
int fcntl(int fd, int cmd, struct flock *lock);


参数: 
fd:文件描述词。 
cmd:操作命令。 
arg:供命令使用的参数。 
lock:同上。

posted @ 2012-04-27 00:31  qimi  阅读(602)  评论(0编辑  收藏  举报