有没有像样的 WebSocket C# 实现?

14

我已经在 System.Net.WebSockets 中创建了我的服务器,现在在将其在机器之间转移后,我发现不支持Windows Server 2008,有没有其他实现支持X509Certificate作为身份验证,并且需要最小的对话。

过去2个小时中我一直在搜索,但是没有找到任何有意义的东西,只是一些编写和文档质量都很差、经常抛出异常的库的集合,特别是SuperSocket,其中的服务器实现似乎完全有问题。

是否可以发布一些来自体面库的样本客户端代码?我变得绝望了。


1
也许可以使用http://superwebsocket.codeplex.com/。 - Peter Ritchie
哇,非常感谢这个信息丰富且有文档支持的库。 - user2228063
你好。正如Phil和Peter所说,你有几个选项。如果你想要使用websockets,SignalR会符合你的需求,因为你需要.NET 4.5和IIS8...我认为XSockets、SuperWebsocket、Fleck等库都能提供你所需的功能。我是XSockets的创作者之一,如果你选择了这个方向,我们将会帮助你解决任何问题。祝你好运。 - Uffe
4个回答

16

我知道这是一个老问题,但我想问一下你对于Akka.Net实现(它是Actor模型的实现,WhatsApp使用它)用于Websockets有什么看法?或者你有更好的建议吗? - Mohammed Noureldin
WebSocketRPC(http://websocket-rpc.net)也应该在列表中。 - dajuric

5

4

我知道有点晚了,但是我创建了一个WebSocket C#实现,这对某些人可能很有趣。


为什么要使用离线方法而不是事件机制? - Thomas
它允许您以您喜欢的方式处理代码。例如,您可以创建一个基于事件的包装器:https://github.com/vtortola/WebSocketListener/wiki/WebSocket-Event-Listener - vtortola

1
SignalR为您提供了一种很好的方法,可以向您的应用程序添加实时功能。在幕后,它根据客户端和服务器支持的内容,使用Web Sockets、服务器发送事件、长轮询或永久帧。即将发布的新版本将支持客户端(X509Certificate)证书。您可以参考以下链接获取更多详细信息:

http://www.asp.net/signalr

https://github.com/SignalR/SignalR/wiki


5
但是,您需要Windows 8或IIS进行测试...我认为Windows 8的要求是人为的,并且很糟糕,因为我无法在本地进行测试。 - infocyde

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接