无法打开套接字类型SOCK_DGRAM的SCTP套接字

时间:2015-01-20 09:40:12

标签: c++ sockets centos udp sctp

int sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_SCTP);

在CentOS 3.2.63上返回的错误是93,在Windows 8上的返回错误是10043,这意味着不支持协议。但我可以使用套接字类型SOCK_RAW,SOCK_STREAM成功打开套接字。在Windows 8中无法使用SOCK_SEQPACKET打开,但可以在CentOS中打开。

1 个答案:

答案 0 :(得分:2)

SCTP必须与SOCK_SEQPACKET或SOCK_STREAM一起使用。有关如何使用SCTP的更多详细信息,请参阅Sockets API Extensions for the Stream Control Transmission Protocol (SCTP), RFC 6458

并非所有操作系统支持SCTP甚至现有支持都可能会遗漏某些功能。