你能通过TcpClient发送大于SendBufferSize的文件吗?

时间:2010-06-22 22:43:32

标签: c# .net tcp tcpclient networkstream

我正在尝试.NET中的Tcp连接,我想发送一些大于TcpClient对象的SendBufferSize比例的数据。是否可以通过简单地写入网络流来发送数据,还是需要将其切换到pices并发送,然后在另一端创建它?

2 个答案:

答案 0 :(得分:4)

来自MSDN

  

如果网络缓冲区小于您提供Write方法的数据量,则会对您对Write方法进行的每次调用执行多个网络发送操作。

您只需要调用一次写入,TcpClient将处理将其拆分为多个网络操作。

答案 1 :(得分:1)

如果网络缓冲区小于您提供Write方法的数据量,则会对您对Write方法进行的每次调用执行多个网络发送操作。通过确保网络缓冲区至少与应用程序缓冲区一样大,您可以实现更高的数据吞吐量。

来自.NET Framework Class Library - TcpClient.SendBufferSize Property