PGM 使用套接字选项设置状态、提供多播参数,否则实现其多播功能。 本页指定应如何设置 PGM 套接字选项、枚举可用于 PGM 的套接字选项,并在适当情况下为各种选项提供用法示例和其他信息。 有关每个 PCM 套接字选项的基本定义,请参阅 套接字选项。
Windows XP:不支持 可靠的多播编程(PGM)。
PGM 发送方可以使用以下套接字选项:
- RM\_LATEJOIN RM\_RATE\_WINDOW\_SIZE RM\_SEND\_WINDOW\_ADV\_RATE RM\_SENDER\_STATISTICS RM\_SENDER\_WINDOW\_WINDOW\_WINDOW _ADVANCE\_METHOD RM\_SET\_MCAST\_TTL RM\_SET\_MESSAGE\_BOUNDARY RM\_SET\_SEND\_IF RM\_USE\_FEC
RM_SENDER_WINDOW_ADVANCE_METHOD选项指定在推进尾部边缘发送窗口时使用的方法。 optval 参数只能E_WINDOW_ADVANCE_BY_TIME(默认值)。 请注意,不支持E_WINDOW_USE_AS_DATA_CACHE。
以下套接字选项可用于 PGM 接收器:
- RM\_ADD\_RECEIVE\_IF RM\_DEL\_RECEIVE\_IF RM\_HIGH\_SPEED\_INTRANET\_OPT RM\_RECEIVER\_STATISTICS
设置 PGM 套接字选项
以下代码片段演示了设置 PGM 套接字选项的编程指南:
ULONG OptionData; // This structure is option-dependent
// :
setsockopt (s,
IPPROTO_RM,
Socket_Option,
(char *) &OptionData,
sizeof (OptionData));
在上面的代码片段中,OptionData 的类型和内容取决于要设置的套接字选项。 对于所有 PGM 套接字选项,套接字级别IPPROTO_RM。 PGM 套接字选项必须紧跟 绑定 函数的调用设置,但有以下例外:
- RM\_SET\_MESSAGE\_BOUNDARY RM\_SENDER\_STATISTICS RM\_RECEIVER\_STATISTICS