所以我一直在深入研究 SignalR,它是一种非常简洁的技术,已经成为ASP.NET家族的一部分。我学习了一些教程,这些教程解释了如何构建一些简洁的实时应用程序,例如股票行情、聊天、仪表板和移动对象。
这些基本教程确实展示了框架背后的一些力量。我正在阅读一些文档,其中显示:
- 联系
- 集线器
所以基本上你有两种选择来连接你的Client和Server。但是在我偶然发现所有这些文档时,它指出:
SignalR 可以利用连接或集线器;通过绘制一个连接,它将利用 Web 套接字。带有原始套接字的编码,但它是高保真和低延迟的。但正如我所说,这在对 Web Socket 的支持中都存在缺陷,直接对套接字进行编码。
这是有道理的,但随后他描述了Hub
工作原理。直接在原始套接字上编码。这是有趣的部分,Hub
它将应用以下传输方法:
- 网络套接字
- 长池化
- 服务器发送事件
- 永远的框架
显然,Hub
它非常整洁。因为它确定了最佳的运输方法,然后实施该方法以实现目标。
我的问题为什么你会想要直接编码到套接字,Hub
无论如何都会自动选择最好的传输方法。包括Web Socket?
澄清会很好。我不太明白为什么不使用Hub
? 为什么要费心使用Connection
?