UNIX网络编程--ioctl操作(十七)

本文深入探讨了UNIX网络编程中的ioctl函数,介绍了其在套接字操作、文件操作、接口配置、ARP高速缓存和路由表操作等方面的应用。通过ioctl,程序可以获取和设置网络接口的各种信息,如非阻塞模式、进程组ID、接口状态等。
摘要由CSDN通过智能技术生成

一、概述

         在本书中有两个地方都对这个函数进行了介绍,其实还有很多地方需要这个函数。ioclt函数传统上一直作为纳西而不适合归入其他精细定义类别的特性的系统接口。网络程序(特别是服务器程序)经常在程序启动执行后使用ioctl获取所在主机全部网络接口的信心,包括:接口地址、是否支持广播、是否支持多播。

二、ioctl函数     

#include <unistd.h>
int ioctl(int fd,int request,...../* void *arg  /);
//返回:若成功则为0.失败则我-1
        其中第三个参数总是一个指针,但指针的类型依赖于request参数。我们可以把和网络相关的请求划分为6类:

        1)套接字操作

         2)文件操作

        3)接口操作

        4)ARP高速缓存操作

        5)路由表操作

        6)流系统

        不但某些ioclt操作和某些fcntl操作功能重叠(譬如把套接字设置为非阻塞),而且某些操作可以使用ioctl以不止一种方式制定(譬如设置套接字的进程组属主)。下表列出了网络相关ioctl请求的request参数以及arg地址必须指向的数据类型。


三、套接字操作

         明确要求套接字ioctl请求有三个,它们都要求io

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值