zoukankan      html  css  js  c++  java
  • 套接字选项(长篇,未完待更新)

    /*********************************************************************************
    *   发布日期:2017-11-06
    *   进度:未完成
    *   作者:LuoTian
    *   备注:套接字选项(重点)
    /*********************************************************************************

    level级别:SOL_SOCKET

    optname(选项名)

    选项值数据类型

    访问

    说明

    SO_ACCEPTCONN

    bool

    get

    如为TRUE(真) ,表明套接字处于监听模式

    注:如果已通过Listen函数将套接字置入监听模式,这个选项会返回TRUE。SOCK_DGRAM类型的套接字不支持这一选项。

    SO_BROADCAST

    bool

    get/set

    如TRUE,表明套接字已配置为发送广播消息

    SO_CONDITIONAL_ACCEPT

    BOOL

    get/set

    允许用WSAAccept接受或拒绝真实的连接

    SO_CONNECT_TIME

    int

    get

    返回套接字建立连接的时间,以秒为单位,如尚未连接,返回0xffffffff

    SO_DEBUG

    bool

    get/set

    如果TRUE,就允许调试输出 (W32不支持)

    SO_DONTLINGER

    bool

    get/set

    如果是TRUE,则禁用SO_LINGER

    SO_LINGER

    struct linger

    get/set

    设置或获取当前的拖延值

    SO_DONTROUTE

    bool

    get/set

    如果TRUE,便直接向网络接口发送消息,毋需查询路由表

    SO_ERROR

    bool

    get

    返回错误状态

    SO_EXCLUSIVEADDRUSE

    bool

    get/set

    如果TRUE,套接字绑定的那个本地端口就不能重新被另一个进程使用

    SO_KEEPALIVE

    bool

    get/set

    如果TRUE,套接字就会进行配置,在会话过程中发送”保持活动”消息

    SO_MAX_MSG_SIZE

    unsigned int

    get

    对一个面向消息的套接字来说,一条消息的最大长度

    SO_OOBINLINE

    bool

    get/set

    如果是TRUE,带外数据就会在普通数据流中返回 (W32不支持)

    SO_PROTOCOL_INFO

    WSAPROTOCOL_INFO

    get

    套接字绑定的那种协议的特征

    SO_RCVBUF

    int

    get/set

    面向接收操作,为每个套接字分别获取或设置缓冲区长度

    SO_REUSEADDR

    bool

    get/set

    如果是TRUE,套接字就可与一个正由其他套接字使用的地址绑定到一起,或与处在TIME_WAIT状态的地址绑定到一起

    SO_SNDBUF

    bool

    get/set

    设置分配给套接字的数据发送缓冲区的大小

    SO_TYPE

    int

    get

    返回指定套接字的类型(如SOCK_DGRAM和SOCK_STREAM等等)

    SO_SNDTIMEO

    int

    get/set

    获取或设置套接字上的数据发送超时时间(以毫秒为单位)

    SO_RCVTIMEO

    int

    get/set

    获取或设置与套接字上数据接收对应的超时时间值(以毫秒为单位)

    SO_UPDATE_ACCEPT_CONTEXT

    SOCKET

    get/set

    更新SOCKET状态 

    level级别:IPPROTO_IP

    optname(选项名)

    选项值数据类型

    访问

    说明

    IP_OPTIONS

    char[]

    get/set

    设置或获取IP头内的IP选项

    IP_HDRINCL

    bool

    get/set

    如果是TRUE,IP头就会随即将发送的数据一起提交,并从读取的数据中返回

    IP_TOS

    int

    get/set

    IP服务类型

    IP_TTL

    int

    get/set

    IP协议的“存在时间” (TTL)

    IP_MULTICAST_IF

    unsigned long

    get/set

    获取或设置打算从它上面发出多播数据的本地接口

    IP_MULTICAST_TTL

    int

    get/set

    为套接字获取或设置多播数据包的存在时间

    IP_MULTICAST_LOOP

    bool

    get/set

    如果TRUE,发至多播地址的数据将原封不动地“反射”或“反弹”回套接字的进入缓冲区

    IP_ADD_MEMBERSHIP

    struct ip_mreq

    set

    在指定的IP组内为套接字赋予成员资格

    IP_DROP_MEMBERSHIP

    struct ip_mreq

    set

    将套接字从指定的IP组内删去(撤消成员资格)

    IP_DONTFRAGMENT

    bool

    get/set

    如果是TRUE,就不对IP数据报进行分段

    level级别:IPPROTO_TCP      

    optname(选项名)

    选项值数据类型

    访问

    说明

    TCP_NODELAY

    bool

    get/set

    若为TRUE, 就会在套接字上禁用Nagle算法 (只适用于流式套接字) 

  • 相关阅读:
    202002知识点
    爬取思想流程
    测试
    运维
    设计模式重温
    ?March2020疑问点
    最方便简洁的设置Sublime编辑预览MarkDown
    rime中州韵输入法安装及配置
    Deepin更新Sublime并取消更新提示
    关于在线教学软件一些发现和思考
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7792152.html
Copyright © 2011-2022 走看看