将带有sctp_recvmsg()的空字符串发送到SOCK_STREAM SCTP套接字时会发生什么?

时间:2015-08-08 20:09:12

标签: sockets sctp

正如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”

0 个答案:

没有答案