SylixOS 的 socket 属性设置

SylixOS 的 socket 属性设置

SylixOS 主要支持以下socket属性
协议族 Level(级别) optname(选项名) Get Set 说明 标志 数据类型
AF_PACKET SOL_PACKET PACKET_ADD_MEMBERSHIP   * 加入多播组    
PACKET_DROP_MEMBERSHIP   * 离开多播组    
PACKET_RECV_OUTPUT   * 接收链路层数据包    
PACKET_RX_RING   *      
PACKET_VERSION   *      
PACKET_RESERVE   *      
SOL_SOCKET SO_RCVBUF   * 接收缓冲区大小    
SO_RCVTIMEO   * 接收超时    
AF_UNIX SOL_SOCKET SO_LINGER   * 如有数据待发送则延时关闭    
SO_RCVBUF   * 接收缓冲区大小    
SO_SNDTIMEO   * 发送超时    
SO_RCVTIMEO   * 接收超时    
SO_CONTIMEO   *      
SO_DONTLINGER   *      
SO_PASSCRED   *      
AF_INET(LWIP) SOL_SOCKET SO_BROADCAST   * 允许发送广播数据包    
SO_KEEPALIVE   * 周期性测试连续是否存活    
SO_REUSEADDR   * 允许重复使用本地地址    
SO_SNDTIMEO   * 发送超时    
SO_RCVTIMEO   * 接收超时    
SO_RCVBUF   * 接收缓冲区大小    
SO_LINGER   * 如有数据待发送则延时关闭    
SO_NO_CHECK   *      
IPPROTO_IP IP_TTL   * 存活时间    
IP_TOS   * 服务类型和优先权    
IP_MULTICAST_TTL   * 指定外出TTL    
IP_MULTICAST_IF   * 指定外出接口    
IP_MULTICAST_LOOP   * 指定是否回环    
IP_ADD_MEMBERSHIP   * 加入多播组    
IP_DROP_MEMBERSHIP   * 离开多播组    
IPPROTO_TCP TCP_NODELAY   * 禁止Nagle算法    
TCP_KEEPALIVE   *      
TCP_KEEPIDLE   *      
TCP_KEEPINTVL   *      
TCP_KEEPCNT   *      
IPPROTO_TPV6 TPV6_V6ONLY   *      
IPPROTO_UDPLITE UDPLITE_SEND_CSCOV   *      
UDPLITE_RECV_CSCOV   *      
IPPROTO_RAW IPV6_CHECKSUM   * 用于原始套机字的校验和字段偏移    

    • Related Articles

    • SylixOS 中应用程序的 socket address 被占用问题

      问: SylixOS 中应用程序的 socket address 被占用问题,如何处理? [root@sylixos:/apps/test_tool]# ./test_tool & [root@sylixos:/apps/test_tool]# test tool init failed can not bind socket Address already in use. 在应用程序中,如果存在服务器 socket监听时,重启应用程序,常会出现上述 socket 地址被占用的情况,可以通过设置 ...
    • SylixOS 功能介绍及版本差异

      SylixOS功能介绍及版本差异 SylixOS 标准版 SylixOS 标准版是 SylixOS 的基础版本,具备如下功能: 兼容 IEEE 1003(ISO/IEC 9945)操作系统接口规范; 兼容 POSIX 1003.1b(ISO/IEC 9945-1)实时编程标准; 支持国军标 GJB7714-2012 操作系统接口规范; 优秀的实时性能(任务调度与切换算法时间复杂度为 O(1)); 支持无限多任务; 抢占式调度支持 256 个优先级; 支持虚拟进程; ...
    • 调用 close 关闭 tcp 链接之后发送 RST 不是 FIN 的问题

      Q:在设置 linger 等于 0 之后, 调用 close 关闭 socket, tcp 协议会发送 RST, 并不走四次挥手的流程, 直接断开 tcp 两端的链接, 并且不进入TIME_WAIT 状态等待, 以降低资源的消耗(其实这种行为在网络条件较差的情况是存在一些弊端的, 降低了 tcp 协议的可靠性) . 而实际情况下, 当 socket 队列中有消息的时候才会发送 RST, linger 的设置并未如愿生效 用例代码片段( 代码段1 ) :         connfd = ...
    • SylixOS lite 版—基于 STM32F767 资源使用情况

      1、基本概念     代码段(text):顾名思义,代码存放的位置,在 STM32 中代码段一般存放于内置 FLASH 中; 已初始化数据段(data):已初始化数据段会分别体现在 FlASH 中和 RAM 中。因为是全局变量,运行过程中需要进行读写操作,因此占用一段 RAM 空间。又因为有初始值,其初始值需要占用 FlASH 空间。   未初始化的数据段(bss):bss 与 data 相同的地方时它也是全局变量,运行过程中需要进行读写操作,因此占用一段 RAM ...
    • 手动修改 SylixOS 工程类型的方法

       问题描述:        当我们想要通过 IDE 重新选择已有 SylixOS Project 的 base 时,如果 base 的类型需要变化,会遇到如下图所示的问题"SylixOS Base project invalid",导致无法选择想要的base。 问题原因:        当base类型变化了,创建SylixOS Project时,工程设置里设定了base的类型。 解决方法一:       ...