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 密钥太小
WebSocket 服务器仅使用 ssl 从握手标头接收“G”