您可以通过 TcpClient 发送大于 SendBufferSize 的文件吗?

发布于 09-07 03:43 字数 125 浏览 10 评论 0原文

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

I am experimenting with the Tcp connections in .NET and I would like to send some data that is larger than the SendBufferSize proporty of the TcpClient object. Is it possible to send the data by simply writing to the network stream or do I need to cut it in pices and send those and at the other end create it again?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

撑一把青伞2024-09-14 03:43:58

来自 MSDN

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

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

From MSDN:

If the network buffer is smaller than the amount of data you provide the Write method, several network send operations will be performed for every call you make to the Write method.

You only need to call Write once, the TcpClient will handle splitting it into multiple network operations.

死开点丶别碍眼2024-09-14 03:43:58

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

来自 .NET Framework 类库 - TcpClient.SendBufferSize属性

If the network buffer is smaller than the amount of data you provide the Write method, several network send operations will be performed for every call you make to the Write method. You can achieve greater data throughput by ensuring that your network buffer is at least as large as your application buffer.

from .NET Framework Class Library - TcpClient.SendBufferSize Property

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文