当传递size = 0时,是否有关于NetworkStream.Read行为的文档?

时间:2019-09-14 23:56:25

标签: c# size zero recv networkstream

我试图通过Microsoft Docs寻找答案,然后进入C#Source Reference,并一直深入到套接字recv C函数,包括所有文档。

由于套接字类型为WSAEINVALSocketType.Stream = SOCK_STREAM套接字错误代码似乎是问题情况的明确定义的行为,我引用了recv函数的Microsoft文档:< / p>

  

套接字尚未绑定,或者未指定未知标志,或者为启用SO_OOBINLINE的套接字指定了MSG_OOB,或(仅对于字节流套接字)len为零或负

使用len将值保存到NetworkStream.Read size参数,在本例中为zero

如果我没有错过任何内容,则应该在C#中引发异常,但事实并非如此。相反,当流中有数据时,NetworkStream.Read调用将返回零;否则,则将其阻塞。这种行为不是我从文档发现中所期望的。

问题不一定有任何实际目的,但您知道,问题。

问题

请参考标题。

我应该只是看一下最上面的实现,并假设行为没有得到很好的定义,因为NetworkStream没有在Docs中定义,还是我应该像尝试的那样研究底层实现?< / p>

0 个答案:

没有答案