📄 14.html
字号:
<td valign="top"> <font face='宋体' size='2'> void endprotoent(void);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> endprotoent()用来关闭由getprotoent()打开的文件。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> <br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> 参考getprotoent()<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc267></a></font> </div>
</td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> <br>
endservent(结束网络服务数据的读取) </font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> getservent,getservbyname,getservbyport,setservent<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> #include<netdb.h><br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> void endservent(void);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> endservent()用来关闭由getservent()所打开的文件。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> <br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> 参考getservent()。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc268></a></font> </div>
</td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> <br>
getsockopt(取得socket状态) </font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> setsockopt<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> #include<sys/types.h><br>
#include<sys/socket.h><br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> int getsockopt(int s,int level,int
optname,void* optval,socklen_t* optlen);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> getsockopt()会将参数s所指定的socket状态返回。参数optname代表欲取得何种选项状态,而参数optval则指向欲保存结果的内存地址,参数optlen则为该空间的大小。参数level、optname请参考setsockopt()。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> 成功则返回0,若有错误则返回-1,错误原因存于errno<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 错误代码 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> EBADF 参数s 并非合法的socket处理代码<br>
ENOTSOCK 参数s为一文件描述词,非socket<br>
ENOPROTOOPT 参数optname指定的选项不正确<br>
EFAULT 参数optval指针指向无法存取的内存空间<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> #include<sys/types.h><br>
#include<sys/socket.h><br>
main()<br>
{<br>
int s,optval,optlen = sizeof(int);<br>
if((s = socket(AF_INET,SOCK_STREAM,0))<0) perror(“socket”);<br>
getsockopt(s,SOL_SOCKET,SO_TYPE,&optval,&optlen);<br>
printf(“optval = %d\n”,optval);<br>
close(s);}<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 执行 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> optval = 1 /*SOCK_STREAM的定义正是此值*/<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc269></a></font> </div>
</td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> <br>
htonl(将32位主机字符顺序转换成网络字符顺序) </font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> htons,ntohl,ntohs<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> #include<netinet/in.h><br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> unsigned long int htonl(unsigned
long int hostlong);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> htonl()用来将参数指定的32位hostlong 转换成网络字符顺序。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> 返回对应的网络字符顺序。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> 参考getservbyport()或connect()。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc270></a></font> </div>
</td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> <br>
htons(将16位主机字符顺序转换成网络字符顺序) </font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> htonl,ntohl,ntohs<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> #include<netinet/in.h><br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> unsigned short int htons(unsigned
short int hostshort);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> htons()用来将参数指定的16位hostshort转换成网络字符顺序。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> 返回对应的网络字符顺序。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> 参考connect()。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc271></a></font> </div>
</td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> <br>
inet_addr(将网络地址转成二进制的数字) </font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> inet_aton,inet_ntoa<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> #include<sys/socket.h><br>
#include<netinet/in.h><br>
#include<arpa/inet.h><br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> unsigned long int inet_addr(const
char *cp);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> inet_addr()用来将参数cp所指的网络地址字符串转换成网络所使用的二进制数字。网络地址字符串是以数字和点组成的字符串,例如:“163.13.132.68”。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td valign="top"> <font face='宋体' size='2'> 成功则返回对应的网络二进制的数字,失败返回-1。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc272></a></font> </div>
</td>
</tr>
<tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -