⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 47.htm

📁 unix高级编程原吗
💻 HTM
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://apue.dhs.org"><font face="黑体"><big><big>123</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center">               ● UNIX网络编程                       (BM: clown)                </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p   align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="index.htm">回到开始</a>][<a href="19.htm">上一层</a>][<a href="48.htm">下一篇</a>]
<hr><p align="left"><small>  <br>

Linux网络编程--8. 套接字选项 <br>

http://linuxc.51.net 作者:hoyt (2001-05-08 11:23:24) <br>

有时候我们要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要控制套接字的 <br>

选项了. <br>

8.1 getsockopt和setsockopt <br>

int getsockopt(int sockfd,int level,int optname,void *optval,socklen_t *optl <br>

en) <br>

int setsockopt(int sockfd,int level,int optname,const void *optval,socklen_t <br>

 *optlen) <br>

level指定控制套接字的层次.可以取三种值: 1)SOL_SOCKET:通用套接字选项. 2)IPPRO <br>

TO_IP:IP选项. 3)IPPROTO_TCP:TCP选项. <br>

optname指定控制的方式(选项的名称),我们下面详细解释 <br>

optval获得或者是设置套接字选项.根据选项名称的数据类型进行转换 <br>

选项名称                说明                                    数据类型 <br>

======================================================================== <br>

                        SOL_SOCKET <br>

------------------------------------------------------------------------ <br>

SO_BROADCAST            允许发送广播数据                        int <br>

SO_DEBUG                允许调试                                int <br>

SO_DONTROUTE            不查找路由                              int <br>

SO_ERROR                获得套接字错误                          int <br>

SO_KEEPALIVE            保持连接                                int <br>



SO_LINGER               延迟关闭连接                            struct linge <br>

r <br>

SO_OOBINLINE            带外数据放入正常数据流                  int <br>

SO_RCVBUF               接收缓冲区大小                          int <br>

SO_SNDBUF               发送缓冲区大小                          int <br>

SO_RCVLOWAT             接收缓冲区下限                          int <br>

SO_SNDLOWAT             发送缓冲区下限                          int <br>

SO_RCVTIMEO             接收超时                                struct timev <br>

al <br>

SO_SNDTIMEO             发送超时                                struct timev <br>

al <br>

SO_REUSERADDR           允许重用本地地址和端口                  int <br>

SO_TYPE                 获得套接字类型                          int <br>

SO_BSDCOMPAT            与BSD系统兼容                           int <br>

========================================================================== <br>

                        IPPROTO_IP <br>

-------------------------------------------------------------------------- <br>

IP_HDRINCL              在数据包中包含IP首部                    int <br>

IP_OPTINOS              IP首部选项                              int <br>

IP_TOS                  服务类型 <br>

IP_TTL                  生存时间                                int <br>

========================================================================== <br>



                        IPPRO_TCP <br>

-------------------------------------------------------------------------- <br>

TCP_MAXSEG              TCP最大数据段的大小                     int <br>

TCP_NODELAY             不使用Nagle算法                         int <br>

========================================================================= <br>

关于这些选项的详细情况请查看 Linux Programmer's Manual <br>

8.2 ioctl <br>

ioctl可以控制所有的文件描述符的情况,这里介绍一下控制套接字的选项. <br>

 int ioctl(int fd,int req,...) <br>

========================================================================== <br>

                        ioctl的控制选项 <br>

-------------------------------------------------------------------------- <br>

SIOCATMARK              是否到达带外标记                        int <br>

FIOASYNC                异步输入/输出标志                       int <br>

FIONREAD                缓冲区可读的字节数                      int <br>

========================================================================== <br>

详细的选项请用 man ioctl_list 查看. <br>

---------------------------------------------------------------------------- <br>

---- <br>

相关文章 关键词 <br>

Linux网络编程--7. TCP/IP协议 (2001-05-08 11:22:40) <br>

Linux网络编程--6. 高级套接字函数 (2001-05-08 11:22:09) <br>



Linux网络编程--5. 用户数据报发送 (2001-05-08 11:21:31) <br>

Linux网络编程--4. 完整的读写函数 (2001-05-08 11:20:52) <br>

Linux网络编程--3. 服务器和客户机的信息函数 (2001-05-08 11:20:14) <br>

Linux网络编程--2. 初等网络函数介绍(TCP) (2001-05-08 11:19:34) <br>

Linux网络编程--1. Linux网络知识介绍 (2001-05-08 11:16:55) <br>

樊强制作 欢迎分享 2001 <br>

  <br>

</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="19.htm">上一层</a>][<a href="48.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -