C#中是否有支持SSL的WebSocket客户端,且支持.NET 4.0版本?

4

我想知道现在这个主题上是否有任何相关内容:我发现了各种示例 EG: the 4.5 system.net.websockets.websocket,用于C#中的ssl (wss://)客户端,我想知道是否有可靠的ssl版本存在,因为this similar question已被回答。

但是我正在开发一个Visual c# 2010的winforms C# 客户端应用程序,必须接收服务器推送,但它是Windows 7,所以我不能使用net 4.5。(注意:客户端的重点)

如果有人有任何实际的SSL代码(希望不需要强制证书身份验证提示),我将不胜感激 - 我更喜欢代码示例 - 但我会接受命名空间解决方案。

提前致谢:-)


1
.NET 4.5 已经适用于 Windows 7。 - Greg
运行?是的。编译?不需要。http://social.msdn.microsoft.com/Forums/en-US/async/thread/929ccd95-0ab1-4c2b-b153-091471965bc3/ - conners
2
我可以在Windows 7上编译(使用VS 2012)和运行.NET 4.5应用程序。这些应用程序也可以在Windows Vista和Windows 8上运行。你有什么限制阻止你做同样的事情吗?我们需要非常清楚,因为不精确的沟通会导致混淆。 - Greg
1
@connors - 不,你需要使用Windows桌面版的Express - http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop#product-express-desktop-details - Brad Semrad
@conners:你可能认为是因为它们是两个VS2012 Express版本——一个是“Windows 8版”,另一个是“Windows桌面版”。 - Julien Lebosquain
显示剩余6条评论
3个回答

6

Websocket4net 可以与 SSL 协同工作,我们正在开发一个基于 Jetty/websocket 的系统。

以下是带有身份验证的示例代码:

webSocket = new WebSocket("wss://host:8443/", "echo", null,
new List < KeyValuePair < string, string >> () {
    new KeyValuePair < string, string > ("Authorization", "Basic YWRtaW46YWRtaW4=")
}, "", WebSocketVersion.Rfc6455);
webSocket.EnableAutoSendPing = true;
webSocket.AllowUnstrustedCertificate = true;

这个问题很久以前就有了,但是这个答案可以帮助其他人...


我在谷歌上快速搜索了Websocket4net,并找到了两个项目。它是CodePlex上的那个:http://websocket4net.codeplex.com/,还是GitHub上的那个:https://github.com/kerryjiang/WebSocket4Net? - Kevin

3

非常感谢您的提示(和链接)关于在Windows 7中升级到VS 2012。 - conners
我知道这个答案有点老了,我尝试下载VS2012桌面版Express版本,但无法添加对System.Net.WebSockets.WebSocket的引用。似乎它仅支持Windows 8。任何指针都将是有帮助的。谢谢... - Manoj

0

谢谢你,我之前已经知道了,但它仍处于测试阶段。另外,这是 SSL 吗?我没有看到任何明确指出 "wss://"(最好是自签名的 SSL)的示例。 - conners
@conners 只是为了严谨起见,我会说最好使用非自签名证书,只有在必须要回退到使用自签名证书时才使用;因为它们正在失去(受信任/允许)的支持。 - DennisVM-D2i

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