所以, 我发现了一个叫做HTML5 WebSockets,新API的神奇之物。这仍然是DRAFT版本,但得到了很好的支持。全双工双向通信。我知道如何通过JavaScript使用它,有API。但是,如果我想在我的C#/ .NET应用程序中使用WebSocket客户端,该怎么做?
例如JavaScript:http://bohuco.net/blog/2010/07/html5-websockets-example/
.NET中是否有适用于WebSockets的特殊客户端库?
答案 0 :(得分:13)
先生 SuperWebSocket包括WebSocket服务器实现和WebSocket客户端实现。 SuperWebSocket's project page
答案 1 :(得分:7)
我最近在为Pusher构建.NET和Silverlight客户端库的同时对此进行了一些研究。我找到了以下WebSocket客户端库和项目:
目前,Microsoft实现可能是最容易使用的,它还有一个Silverlight库。 SuperWebSockets在源代码中有一个Silverlight项目,但在最新的drop中没有。
答案 2 :(得分:5)
从.NET 4.5开始,通过System.Net.WebSockets.ClientWebSocket
您可以从MSDN代码网站http://code.msdn.microsoft.com/WebSockets-middle-tier-5b2972ce/sourcecode浏览或下载此示例C#应用。
对于问题的沮丧选民,样本主要侧重于连接到WebSocket服务,这是以网络为中心的C#应用程序的另一个重要用例。
答案 3 :(得分:2)
我没有尝试过Microsoft实现,但我认为Xsockets具有最快的设置时间(nuget包)。从开始运行一个完整的socketserver +客户端(演示聊天应用程序)3分钟。 Youtube demo
对于较旧的浏览器,它已回退到Silverlight和Flash。
答案 4 :(得分:2)
您可以使用http://www.nuget.org/packages/Microsoft.AspNet.SignalR/或http://www.asp.net/signalr
ASP.NET SignalR是一个面向ASP.NET开发人员的新库,可以轻松开发实时Web功能。 SignalR允许服务器和侧面之间的双向通信。现在,服务器可以在可用时立即将内容推送到客户端。 SignalR支持Web套接字,并且可以回退到旧版浏览器的其他兼容技术。 SignalR包括用于连接管理的API(例如,连接和断开事件),分组连接和授权。
答案 5 :(得分:1)
一位朋友,我刚刚发布了一个非常轻量级,精简,可扩展的C#websocket服务器:https://github.com/Olivine-Labs/Alchemy-Websockets
我们将其用于我们的在线游戏,因此我们最关心的是快速有效地处理大量连接。从我的研究来看,这是最有效率的。而且,作为奖励,它支持flash websockets作为没有支持websocket的浏览器的用户的后备。
答案 6 :(得分:1)
如果您正在寻找高性能企业WebSocket服务器,请查看Kaazing。 Kaazing完全支持.NET,包括Xamarin。
以下是AMQP的分步教程:Checklist: Build Microsoft .NET AMQP Clients。
[披露:我为Kaazing工作。]
答案 7 :(得分:0)
是的,您需要一个支持WebSocket protocol的中间服务器。该服务器可以用任何语言编写,包括.NET。 Here's one用于.NET,但它确实可以是任何语言。就你的网站而言,它可能是ASP.NET和javascript中的客户端部分,它将与WebSocket服务器通信。
答案 8 :(得分:0)
我正在部署XSockets.net。该框架运行良好,正在维护,开发人员提供有偿支持,但对于正常问题,他们在SO中也非常活跃,他们帮助很多。
他们提供了.net API来实现套接字以及客户端的javascript API。
作为总结,我可以推荐它。
答案 9 :(得分:-1)
你有几个选择