2012-07-08 88 views
1

所以我對Windows和MacOSX的一個已知的工作版本代碼:SYS/Linux中ioctl.h問題

int CSocket::setsync(int mode) 
{ 
    if(sockid < 0)return -1; 
    u_long i = mode; 
    return ioctlsocket(sockid, FIONBIO, &i); 
} 

我只是想知道,如果以下Linux版本在功能上是相同的:

int CSocket::setsync(int mode) 
{ 
    if(sockid < 0)return -1; 
    u_long i = mode; 
    return ioctl(sockid, FIONBIO, &i); 
} 

只是一個供參考,我執行#included SYS/ioctl.h

+0

什麼?不,我使用#include nterry 2012-07-08 02:50:54

+1

查看[UNIX非阻塞I/O:O_NONBLOCK vs. FIONBIO](http://stackoverflow.com/q/1150635/1380680),在Linux上使用'fcntl'獲得更好的替代方案。 [This one](http://stackoverflow.com/q/3255899/1380680)也很有趣。 – 2012-07-08 02:52:08

回答