.NET WebSockets 和 TCP_NODELAY

Posted

技术标签:

【中文标题】.NET WebSockets 和 TCP_NODELAY【英文标题】:.NET WebSockets and TCP_NODELAY 【发布时间】:2020-08-31 18:01:20 【问题描述】:

是否可以在 C#.NET 中构建一个 WebSocket 客户端,允许我在套接字上将 TCP_NODELAY 属性设置为 True(即禁用 Nagle)?我已经尝试了一堆似乎没有这个选项的 WebSocket 库。 谢谢

【问题讨论】:

见代码项目:developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/… 谢谢,但这是服务器实现,我正在寻找客户端 "在套接字上将 TCP_NODELAY 属性设置为 False(即禁用 Nagle)" -- 首先,您需要弄清楚您实际上想要做什么. TCP_NODELAY 的默认值为 false,因此您无需将其设置为 false。错误状态对应于 Nagle 的算法是启用,而不是禁用。除此之外,你的问题太宽泛了……“有可能吗?” 当然,总是有可能的。唯一的问题是你想投入多少工作。 为此付出了多少努力? 对不起,我的意思是说真不是假。我正在发送需要不间断流式传输的数据。想知道这是否可能与 Microsoft 的 WebSockets 有关。我找到了如何在服务器端做到这一点。 【参考方案1】:

我最终找到了一个可以添加 NoDelay 支持的开源 WebSocket 库。

【讨论】:

以上是关于.NET WebSockets 和 TCP_NODELAY的主要内容,如果未能解决你的问题,请参考以下文章

如何在 asp.net core 中使用 websockets

System.Net.WebSockets 乒乓球

ASP.NET 上的 WebSockets/长轮询 - 共享主机?

System.Net.WebSockets.ClientWebSocket 不能可靠地工作?

在 Windows 7 上带有 websockets 的 asp.net 5 Web 应用程序

.NET 的 HTML5 WebSockets 客户端