SignalR .Net 客户端

Posted

技术标签:

【中文标题】SignalR .Net 客户端【英文标题】:SignalR .Net Client 【发布时间】:2014-04-30 07:28:10 【问题描述】:

我的服务器运行的是 Windows Server 2012。

在我的客户端:WebSockets 是 .NET 客户端中使用的默认通信方式吗?

如何验证我的 .NET 客户端使用哪种通信方法?

【问题讨论】:

【参考方案1】:

来自docs:

您可以在查询中找到用于连接的传输方式 字符串数据,以及 SignalR 内部使用的一些其他值:

string transportMethod = queryString["transport"];

And:

Microsoft.AspNet.SignalR.Client.Transports 命名空间包括以下可用于指定传输的类。

Lo​​ngPollingTransport ServerSentEventsTransport WebSocketTransport(仅当服务器和客户端都使用 .NET 4.5 时可用。) AutoTransport(自动选择客户端和服务器都支持的最佳传输方式。这是默认传输方式。将其传入 Start 方法与不传入任何内容的效果相同.)

是的,如果您使用的是 .NET 4.5,.NET 客户端确实支持 WebSockets

【讨论】:

如果我的 .Net 客户端在 Windows7 上怎么办?我如何在客户端知道使用了哪种传输方式? Windows 的版本无关紧要,安装的 .NET 版本无关紧要。我不认为 Windows 7 默认安装了 .NET 4.5,所以您必须自己执行此操作:msdn.microsoft.com/en-us/library/5a4x27ek(v=vs.110).aspx 我想你错了,Windows7 不支持 WebSockets,请看***.com/questions/11039438/… 他们说在 Windows 7 中 本机 不支持 WebSockets。SignalR 的文档明确指出当客户端和服务器都使用 NET 4.5 时 WebSocketTransport 可用,所以 SignalR 可能不使用 Windows 的本机 HTTP Server API。您是否已经看过 transport 查询字符串参数? 是的,我检查了 queryString["transport"] ,我的客户端和服务器都是 Windows7 上的 .Net 4.5.1,传输方法是 serverSentEvents

以上是关于SignalR .Net 客户端的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core SignalR :SignalR Javascript 客户端

ASP.NET Core SignalR 下:SignalR Javascript 客户端

在 .NET 客户端分布式方案中对 SignalR 进行故障排除

从 SignalR .NET 客户端连接到工作集线器时出现 HttpClientException

《ASP.NET SignalR系列》第一课 认识SignalR

使用 SignalR、WCF 双工服务和 ASP.Net 通用处理程序向客户端推送通知?