正如SCTP receive message function returning zero中所述,sctp_recvmsg()
在另一方关闭连接时,为one-to-one SCTP连接(0
)返回socket(PF_INET, SOCK_STREAM, IPPROTO_SCT)
的长度。
当我通过这样的连接发送带有""
的空字符串(sctp_sendmsg()
)时,符合标准的实现会发生什么/应该发生什么?
我还没有解释过这个问题。
编辑:我应该提到recv()
的标准SOCK_STREAM
(例如对于TCP),接收0长度缓冲区when the peer has performed an orderly shutdown,因此{ {3}}您不允许send()
TCP中的空字符串。对于像TCP这样的仅流协议,这是完全有意义的,因为0长度数据在流中不具有意义。但它可能对数据报有意义,就像sctp_recvmsg()
的情况一样,所以我们不能说“它就像TCP”。