C语言设置和取得socket状态的相关函数用法
C语言setsockopt()函数:设置socket状态 #include <sys/types.h> #include <sys/socket.h> 定义函数: int setsockopt(int s,int level,int optname,const void * optval,socklen_toptlen); 函数说明:setsockopt()用来设置参数s 所指定的socket 状态. 参数level 代表欲设置的网络层,一般设成SOL_SOCKET 以存取socket 层. 参数optname 代表欲设置的选项,有下列几种数值: 参数 optval 代表欲设置的值,参数optlen 则为optval 的长度. 返回值:成功则返回0,若有错误则返回-1,错误原因存于errno. 附加说明: C语言getsockopt()函数:取得socket 状态 #include <sys/types.h> #include <sys/socket.h> 定义函数: int getsockopt(int s,void* optval,socklen_t* optlen); 函数说明:getsockopt()会将参数s 所指定的socket 状态返回. 参数optname 代表欲取得何种选项状态,而参数optval 则指向欲保存结果的内存地址,参数optlen 则为该空间的大小. 参数level、optname 请参考setsockopt(). 返回值:成功则返回0,错误原因存于errno 错误代码: 范例 #include <sys/types.h> #include <sys/socket.h> main() { int s; int optval; int optlen = sizeof(int); if((s = socket(AF_INET,SOCK_STREAM,0)) < 0) perror("socket"); getsockopt(s,SOL_SOCKET,SO_TYPE,&optval,&optlen); printf("optval = %dn",optval); close(s); } 执行: optval = 1 //SOCK_STREAM 的定义正是此值 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |