我正在调查SignalR,我不想写聊天客户端。我想要创建一个具有持久连接的主机,并让C#.NET客户端(不是网页)与之通信。有没有编写持久连接客户端的好例子?
或者Hub是唯一的出路吗?
答案 0 :(得分:5)
不,Hub API不是唯一的方法。网上有很多例子展示了如何使用PersistentConnections(例如来自SignalR repo的this one - 这里的客户端是JavaScript但是在使用C#时你只是订阅Received事件 - 任何SignalR客户端收到消息的时间,它将调用Received事件处理程序)。 集线器基本上是一个更高级别的API,这使得使用SignalR更加容易。持久连接是关于发送/接收原始字符串,而Hub是关于从服务器调用客户端上的函数或相反的方式。但是,集线器在持久连接之上作为一个层实现,其中消息采用JSon格式而不是原始字符串,客户端和服务器都相应地解释它们。
我在SignalR协议的my post中描述了持久连接和集线器(对于持久连接,请参阅持久连接消息部分)