Sockets SOCK_seq数据包可用性?

Sockets SOCK_seq数据包可用性?,sockets,networking,tcp,ip,Sockets,Networking,Tcp,Ip,当使用原始TCP套接字时,需要使用长度前缀或分隔符来执行消息帧,如前所述 我今天访问了“SOCK_SEQPACKET”套接字选项,它显然可以几乎透明地进行消息框架 目前平台和操作系统中“SOCK_SEQPACKET”的可用性如何?(Windows、OSX、Linux、IOS、Android…I您使用AF\u INET的SOCK\u SEQPACKET,方法如下: socket(AF_INET, SOCK_SEQPACKET, 0); 您将无法获得TCP套接字。如果您的平台支持,该套接字将是S

当使用原始TCP套接字时,需要使用长度前缀或分隔符来执行消息帧,如前所述

我今天访问了“SOCK_SEQPACKET”套接字选项,它显然可以几乎透明地进行消息框架


目前平台和操作系统中“SOCK_SEQPACKET”的可用性如何?(Windows、OSX、Linux、IOS、Android…

I您使用
AF\u INET
SOCK\u SEQPACKET
,方法如下:

socket(AF_INET, SOCK_SEQPACKET, 0); 
您将无法获得TCP套接字。如果您的平台支持,该套接字将是SCTP套接字

SCTP尚未得到广泛应用。最新的Linux版本支持它(如果启用了SCTP)


SCTP在Mac OS X(El Captain)上仍然不可用。 有一个第三方开源内核扩展在-但它是未签名的,因此你必须禁用苹果系统完整性保护

见例


同样,在Mac OS X上也不能将SOCK_SEQPACKET与AF_UNIX一起使用。

Linux:可用

Mac OS:(更好的来源?)

窗口