zoukankan      html  css  js  c++  java
  • UNP学习第七章

    一、套接口选项

    • 函数getsockopt和setsockopt
    • 函数fcntl
    • 函数ioctl

    二、getsockopt和setsockopt函数

    #include <sys/socket.h>
    
    int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);
    int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t *optlen);
    返回:0成功,-1出错
    sockfd:必须指向一个打开的套接口描述字
    level:指定系统中解释选项的代码,选项定义的层次,例如SOL_SOCKET、IPPROTO_TCP
    optname:普通套接口代码或特定于协议的代码,例如TPv4、IPv6或TCP
    optval:一个指向变量的指针,选项值的缓冲区
    optlen:指向optval缓冲区的长度值

    level和optname相关的值:

    三、SO_BROADCAST选项

    此选项使能或禁止进程发送广播消息的能力,并且还必须是在支持广播消息的网络上。

    一个应用进程在发送一个i额广播数据报之前必须设置此套接口选项,因此它能有效防止该进程在应用程序未设计成能广播时就发送广播消息。

    四、fcntl函数

    #include <fcntl.h>
    
    int fcntl(int fd, int cmd, ... /* int arg */);
    返回:成功依赖于参数cmd,-1出错
    fd:文件描述符
    cmd:指令
    无欲速,无见小利。欲速,则不达;见小利,则大事不成。
  • 相关阅读:
    LeetCode 368Largest Divisible Subset
    macbook 源码安装 redis6.2.6
    macbook 源码安装 nginx1.20.1
    MySQL总结
    DataWork之 MaxComputer的使用
    Spring的IOC源码分析
    Spring Bean的生命周期
    SpringMVC工作原理
    Spring全家桶(二)之SpringMVC总结
    (已经成功部署)配置vue+nginx+uwsgi luffy项目
  • 原文地址:https://www.cnblogs.com/ch122633/p/8472003.html
Copyright © 2011-2022 走看看