PRSocketOptionData

用于与 PR_GetSocketOptionPR_SetSocketOption 一起使用的结构体类型,用于指定表示套接字的文件描述符的选项。

语法

#include <prio.h>

typedef struct PRSocketOptionData
{
  PRSockOption option;
  union
  {
     PRUintn ip_ttl;
     PRUintn mcast_ttl;
     PRUintn tos;
     PRBool non_blocking;
     PRBool reuse_addr;
     PRBool keep_alive;
     PRBool mcast_loopback;
     PRBool no_delay;
     PRSize max_segment;
     PRSize recv_buffer_size;
     PRSize send_buffer_size;
     PRLinger linger;
     PRMcastRequest add_member;
     PRMcastRequest drop_member;
     PRNetAddr mcast_if;
  } value;
} PRSocketOptionData;

字段

该结构体包含以下字段

ip_ttl

IP 生存时间。

mcast_ttl

IP 多播生存时间。

tos

IP 服务类型和优先级。

non_blocking

非阻塞(网络)I/O。

reuse_addr

允许本地地址重用。

keep_alive

定期测试连接是否仍然存活。

mcast_loopback

IP 多播回环。

no_delay

禁用 Nagle 算法。不要延迟发送以合并数据包。

max_segment

TCP 最大分段大小。

recv_buffer_size

接收缓冲区大小。

send_buffer_size

发送缓冲区大小。

linger

如果套接字发送缓冲区中存在数据,则在关闭时保持连接的时间。

add_member

加入 IP 多播组。

drop_member

离开 IP 多播组。

mcast_if

IP 多播接口地址。

描述

PRSocketOptionData 是套接字选项的键值对。 option 字段(枚举类型 PRSockOption)指定套接字选项的名称,而 value 字段(所有可能值的联合)指定选项的值。