sl_Socket – 创建某个类型(由整数标识)的新套接字,并为该套接字分配系统资源。支持以下套接字类型:
- SOCK_STREAM(TCP – 面向流的可靠服务或流套接字)
- SOCK_DGRAM(UDP – 数据报服务或数据报套接字)
- SOCK_RAW(网络层之上的原始协议)
sl_Close – 正常关闭套接字。此函数使系统释放分配给套接字的资源。对于 TCP,连接将终止。
sl_Accept – 此函数可与基于连接的套接字类型 (SOCK_STREAM) 搭配使用,用于提取挂起连接队列上的第一个连接请求,创建一个新的连接套接字,并返回一个引用该套接字的新文件描述符。新创建的套接字不处于侦听状态。原始套接字 sd 不受此调用的影响。
sl_Bind – 为套接字指定本地地址 addr。addr 的长度为 addrlen 字节。传统上,在创建套接字时调用此函数,并且此函数存在于命名空间(地址族)中,但未向其分配名称。在 SOCK_STREAM 套接字接收连接之前,必须分配一个本地地址。
sl_Listen – 指定接受传入连接的意愿和传入连接的队列限制。listen() 调用仅适用于 SOCK_STREAM 类型的套接字,而 backlog 参数定义了挂起连接队列的最大长度。
sl_Connect – 将套接字描述符 sd 引用的套接字连接到 addr 指定的地址。addrlen 参数指定了 addr 的大小。addr 中地址的格式由套接字的地址空间决定。如果套接字是 SOCK_DGRAM 类型,则此调用指定与套接字相关联的对等方。数据报应发送至该地址,这是接收数据报的唯一地址。如果套接字是 SOCK_STREAM 类型,则此调用尝试与另一个套接字建立连接。另一个套接字由套接字通信空间中的地址指定。
sl_Select – 允许程序监视多个文件描述符,等待一个或多个文件描述符为某类 I/O 操作做好准备。sl_Select 包含可设置文件描述符选项的几个子函数:
- SL_FD_SET – 选择 SlFdSet_t SET 函数。在 SlFdSet_t 容器上设置当前套接字描述符。
- SL_FD_CLR – 选择 SlFdSet_t CLR 函数。在 SlFdSet_t 容器上清除当前套接字描述符。
- SL_FD_ISSET – 选择 SlFdSet_t ISSET 函数。检查是否设置了当前套接字描述符 (TRUE/FALSE)。
- SL_FD_ZERO – 选择 SlFdSet_t ZERO 函数。从 SlFdSet_t 容器中清除所有套接字描述符。
sl_SetSockOpt – 操控与套接字相关联的选项。选项涉及多个协议级别,并且始终涉及最高套接字级别。支持以下套接字选项:
- SL_SOL_SOCKET – 套接字选项类别:
- SL_SO_KEEPALIVE – 通过启用消息的定期传输,让 TCP 连接始终处于活动状态;启用或禁用,定期处于活动状态。默认值:启用:保持活动超时为 300 秒。
- SL_SO_RCVTIMEO – 设置超时值,该值指定输入函数等待完成的最长时间。默认值:无超时
- SL_SO_RCVBUF – 设置 TCP 最大接收窗口期
- SL_SO_NONBLOCKING – 将套接字设置为非阻塞操作。影响:sl_Connect、sl_Accept、sl_Send、sl_Sendto、sl_Recv 和 sl_Recvfrom。默认值:阻塞。
- SL_SO_SECMETHOD – 将方法设置为 TCP 安全套接字 (SL_SEC_SOCKET)。默认值:SL_SO_SEC_METHOD_SSLv3_TLSV1_2。
- SL_SO_SECURE_MASK – 将特定密码设置为 TCP 安全套接字 (SL_SEC_SOCKET)。默认值:适合方法的“理想”密码
- SL_SO_SECURE_FILES – 将编程的文件映射到安全套接字 (SL_SEC_SOCKET)
- SL_SO_SECURE_FILES_PRIVATE_KEY_FILE_NAME – 此选项用于配置安全
- SL_SO_SECURE_FILES_CERTIFICATE_FILE_NAME – 此选项用于配置安全
- SL_SO_SECURE_FILES_CA_FILE_NAME – 此选项用于配置安全文件
- SL_SO_SECURE_FILES_DH_KEY_FILE_ NAME – 此选项用于配置安全
- SL_SO_CHANGE_CHANNEL – 将通道设置为收发器模式
- SL_IPPROTO_IP – IP 选项类别:
- SL_IP_MULTICAST_IF – 指定传出多播接口。
- SL_IP_MULTICAST_TTL – 为套接字设置传出多播数据包的存活时间值
- SL_IP_RAW_RX_NO_HEADER – 原始套接字;从接收的数据中删除 IP 标头。默认值:数据中包括 IP 标头。
- SL_IP_HDRINCL – 仅限 RAW 套接字;除非在套接字上启用 IP_HDRINCL 套接字选项,否则 IPv4 层在发送数据包时会生成 IP 标头。启用套接字选项后,数据包必须包含 IP 标头。默认值:禁用,网络堆栈生成的 IPv4 标头。
- SL_IP_ADD_MEMBERSHIP – UDP 套接字;加入多播组。
- SL_IP_DROP_MEMBERSHIP – UDP 套接字;离开多播组。
- SL_SOL_PHY_OPT – PHY 选项类别:
- SL_SO_PHY_RATE – RAW 套接字;设置 WLAN PHY 传输速率。
- SL_SO_PHY_TX_POWER – RAW 套接字;设置 WLAN PHY Tx 功率。
- SL_SO_PHY_NUM_FRAMES_TO_TX – RAW 套接字;设置在收发器模式下传输的帧数。
- SL_SO_PHY_PREAMBLE – RAW 套接字;设置 WLAN PHY 前导码。
sl_GetSockOpt – 操控与套接字相关联的选项。选项可能涉及多个协议级别,并且始终涉及最高套接字级别。这些套接字选项与 sl_SetSockOpt 中的相同。
sl_Recv – 从 TCP 套接字读取数据
sl_RecvFrom – 从 UDP 套接字读取数据
sl_Send – 将数据写入 TCP 套接字。向器件发送数据后立即返回。如果 TCP 失败,则会收到异步事件 SL_NETAPP_SOCKET_TX_FAILED。对于 RAW 套接字(收发器模式),应在帧数据缓冲区的末尾为 WLAN FCS 保留额外的 4 个字节。
sl_SendTo – 将数据写入 UDP 套接字。此函数将消息传输到另一个套接字(无连接套接字 SOCK_DGRAM、SOCK_RAW)。向器件发送数据后立即返回。如果传输失败,则会收到异步事件 SL_NETAPP_SOCKET_TX_FAILED。
sl_Htonl – 将 32 位无符号值的字节顺序从处理器顺序更改为网络顺序。
sl_Htons – 将 16 位无符号值的字节顺序从处理器顺序更改为网络顺序。