Csharp/C#教程:直到什么时候NetworkStream.Write阻止?分享


直到什么时候NetworkStream.Write阻止?

我能想到这些可能的答案:

直到数据被写入发送方的发送缓冲区。
因此,如果缓冲区已满,它将被阻止。

如果发送缓冲区尚未传输数据,则由于网络问题或接收器端的接收缓冲区已满,发送缓冲区可能已满。

你可以进行一项实验:建立一个发送者和接收者,将发送者的套接字发送缓冲区设置为小的,接收者的接收缓冲区设置为小到的。

开始发送,接受接收方的连接,但不接收。 当发送的字节数是SenderSendBuffer + ReceiverReceiveBuffer时,套接字将被阻塞。

NetworkStream不缓冲数据。 最终,对NetworkStream.Write的调用转换为套接字发送函数调用。 这个函数的MSDN文章说:

成功完成发送function并不表示数据已成功传送并接收给收件人。 此function仅表示数据已成功发送。

这回答了你的问题了吗?

上述就是C#学习教程:直到什么时候NetworkStream.Write阻止?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/990090.html

(0)
上一篇 2021年12月24日
下一篇 2021年12月24日

精彩推荐