C# SSL WebSocket Client 中是不是有.net 4.0?

Posted

技术标签:

【中文标题】C# SSL WebSocket Client 中是不是有.net 4.0?【英文标题】:is there in C# SSL WebSocket Client that is .net 4.0?C# SSL WebSocket Client 中是否有.net 4.0? 【发布时间】:2012-11-14 20:16:14 【问题描述】:

我想知道目前是否有关于此主题的任何内容:我在 c# 中为 ssl (wss://) 客户端找到了各种示例 EG: the 4.5 system.net.websockets.websocket,我想知道从那以后是否有任何可靠的 ssl 版本this similar question 已回复。

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

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

提前致谢:-)

【问题讨论】:

.NET 4.5 适用于 Windows 7。 跑步吗?是 编译?编号social.msdn.microsoft.com/Forums/en-US/async/thread/… @conners 为什么你不能使用 VS Express 2012? 我可以编译(使用 VS 2012)并在 Windows 7 上运行 .NET 4.5 应用程序。这些应用程序也将在 Windows Vista 和 Windows 8 上运行。您有哪些限制阻止您这样做?在这里我们需要非常清楚,因为不精确的沟通会导致混乱。 @connors - 不需要 Express for Windows 桌面 - microsoft.com/visualstudio/eng/products/… 【参考方案1】:

Websocket4net 正在使用 SSL,我们正在开发一个在服务器端使用 Jetty/websocket 的系统。 这是一个带有身份验证的示例 sn-p:

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 上的那个:websocket4net.codeplex.com 还是 GitHub 上的那个:github.com/kerryjiang/WebSocket4Net?【参考方案2】:

所以你可以在 Windows 7 中使用 .NET 4.5,你只需要下载Visual Studio 的正确版本(在 msdn.com 上它有 Win 8 的 dl)。

Example connection

Example of Working with a TCP Version

General WebSocket documentation

【讨论】:

非常感谢您的提示,(和链接)RE:在 Windows 7 中升级到 VS 2012 我知道这个答案有点老了,我尝试下载 VS2012 for desktop express edition 但可以添加对 System.Net.WebSockets.WebSocket 的引用。它似乎仍然只在 Windows 8 中受支持。任何指针都会有所帮助。谢谢...【参考方案3】:

我认为这可能对您有用: http://websocket4net.codeplex.com

【讨论】:

谢谢,我之前就知道,但它是测试版:这也是 SSL 吗?我看不到任何具体说明“wss://”(最好是自签名 SSL)的示例

以上是关于C# SSL WebSocket Client 中是不是有.net 4.0?的主要内容,如果未能解决你的问题,请参考以下文章

JSONRpc Client over websocket C#

C# .NET Core websocket ssl 问题 - dh 密钥太小

JAVA 中的 WebSocket SSL

WebSocket 服务器仅使用 ssl 从握手标头接收“G”

如何使用 TLS/SSL 确保 WebSocket 连接的安全

如何使用 TLS/SSL 确保 WebSocket 连接的安全