|
struct sockaddr_in sockaddr;
sockaddr.sin_family = AF_INET;
sockaddr.sin_addr.s_addr = INADDR_ANY;
sockaddr.sin_port = htons(3000);
fd_ = socket(PF_INET, SOCK_DGRAM, 0);
//下面这一句
fcntl(fd_, F_SETFL, 0, O_NONBLOCK);
bind (fd_,(struct sockaddr*)&sockaddr, sizeof(sockaddr));
我把不理解的那句代码列出来了!
请问这句话是什么意思 fcntl(fd_, F_SETFL, 0, O_NONBLOCK);
设置fd_为非阻塞?那应该是fcntl(fd_, F_SETFL, O_NONBLOCK);没有"0"这个参数,我查了<<unix环境高级编程>>发现fcntl最后一个是可变参数,可以却不知道,这样表示是什么意思!
麻烦各位大大 帮我 看看~~
我应该怎样理解 fcntl(fd_, F_SETFL, 0, O_NONBLOCK);呢
谢谢~~诸位 |
|