使用持续连接客户端的 SignalR 示例

本文关键字:SignalR 示例 客户端 连接 | 更新日期: 2023-09-27 18:32:28

我正在研究SignalR,我不想写聊天客户端。 相反,我想创建一个具有持久连接的主机,并让 C# .NET 客户端(而不是网页)与之通信。 是否有编写持久连接客户端的好示例?

或者 - 枢纽真的是唯一的出路吗?

使用持续连接客户端的 SignalR 示例

不,Hub API 不是唯一的方法。网络上有很多示例显示了如何使用 PersistentConnections(例如,来自 SignalR 存储库的这个示例 - 这里的客户端是 JavaScript,但在使用 C# 时,您只需订阅 Received 事件 - 每当 SignalR 客户端收到消息时,它都会调用 Received 事件处理程序)。Hubs基本上是一个更高级别的API,这使得使用SignalR变得更加容易。持久连接是关于发送/接收原始字符串,而 Hubs 是关于从服务器或相反的方式调用客户端上的函数。但是,集线器是作为持久连接之上的一层实现的,其中消息采用 JSon 格式而不是原始字符串,客户端和服务器都会相应地解释它们。

我在关于 SignalR 协议的帖子中介绍了持久连接和集线器(有关持久连接,请参阅持久连接消息部分)