用于.NET的HTML5 WebSockets客户端

所以,我发现了一个叫做HTML5 WebSockets的新API,这个新的API。 这仍然在DRAFT版本,但很好的支持。 全双工双向通信。 我知道如何通过JavaScript使用它,有APIs。 但是,如果我想在我的C#/。NET应用程序中使用WebSocket客户端,该怎么做?

例如JavaScript: http : //bohuco.net/blog/2010/07/html5-websockets-example/

.NET中的WebSockets是否有特殊的客户端库?

先生SuperWebSocket包括一个WebSocket服务器实现和一个WebSocket客户端实现。 SuperWebSocket的项目页面

我最近做了一些研究,同时为Pusher构build.NET和Silverlight客户端库。 我find了下面的WebSocket客户端库和项目:

  • 微软WebSocket客户端原型
  • SuperWebSocket 注意:这里有一个客户端,只是很难find
  • WebSocket的夏普
  • 安达

目前微软的实施可能是最容易使用的,它也有一个Silverlight库。 SuperWebSockets在源代码中有一个Silverlight项目,但没有在最新版本中。

从.NET 4.5开始,通过System.Net.WebSockets.ClientWebSocket支持WebSocket客户端

您可以从MSDN代码网站浏览或下载此示例C#应用程序: http : //code.msdn.microsoft.com/WebSockets-middle-tier-5b2972ce/sourcecode 。

对于问题的选民来说,样本主要集中在连接到WebSocket服务上,这对于以networking为中心的C#应用​​程序来说是另一个重要的用例。

你最好试试WebSocket4Net: http : //websocket4net.codeplex.com/

我还没有尝试微软的实施,但我认为Xsockets有最快的安装时间(nuget包)。 从开始运行一个完整的socketserver +客户端(演示聊天应用程序)3分钟。 Youtube演示

它有回退到Silverlight和闪光的旧版浏览器。

您可以使用http://www.nuget.org/packages/Microsoft.AspNet.SignalR/或http://www.asp.net/signalr

ASP.NET SignalR是ASP.NET开发人员的一个新库,可以使开发实时Webfunction变得简单。 SignalR允许服务器和端之间的双向通信。 服务器现在可以将内容立即推送到客户端,因为它变得可用。 SignalR支持Web套接字,并回退到旧版浏览器的其他兼容技术。 SignalR包含用于连接pipe理(例如连接和断开事件),连接分组和授权的API。

一个朋友,我刚刚发布了一个非常轻量级,精简,可伸缩的C#websocket服务器: https : //github.com/Olivine-Labs/Alchemy-Websockets

我们把它build成在我们的在线游戏中使用,所以我们最关心的是快速和高效地处理大量的连接。 从我的研究来看,这是最有效率的。 而且,作为一个奖励,它支持flash websocket作为没有支持websocket的浏览器的用户的后备。

如果你正在寻找一个高性能的企业WebSocket服务器,看看Kaazing 。 Kaazing完全支持.NET,包括Xamarin。

以下是AMQP的分步教程: 清单:构buildMicrosoft .NET AMQP客户端 。

[披露:我为Kaazing工作]

是的,您需要一个支持WebSocket协议的中间服务器。 这个服务器可以用包括.NET在内的任何语言编写。 这是一个 .NET,但它可以是任何语言。 就你的网站而言,它可能是ASP.NET和JavaScript中的客户端部分,它将与WebSocket服务器进行通信。

我正在部署XSockets.net。 这个框架工作得很好,正在维护,开发者提供了有偿的支持,但是对于正常的问题,他们在这里也很活跃,他们帮了很大的忙。

他们提供了一个.net API来实现套接字,也是一个客户端的JavaScript API。

作为总结,我可以推荐它。

你有几个select

  • 滚动你自己 – 规范是相当简单的
  • 使用别人的实验版本,比如这个C#Web套接字服务器
  • 看看MS WCF的方法