【发布时间】:2012-06-17 20:39:02
【问题描述】:
我刚刚安装了 Visual Studio 2012 RC 并尝试使用启用 WebSocket 的 netHttpBinding 运行服务并得到以下错误:
此平台不支持服务器端 WebSockets。
WebSockets 可以在带有 Visual Studio 2012 RC 的 Windows 7 上工作吗?
【问题讨论】:
我刚刚安装了 Visual Studio 2012 RC 并尝试使用启用 WebSocket 的 netHttpBinding 运行服务并得到以下错误:
此平台不支持服务器端 WebSockets。
WebSockets 可以在带有 Visual Studio 2012 RC 的 Windows 7 上工作吗?
【问题讨论】:
不,websockets 仅受 Windows 8 中的 Windows 原生支持,无论您使用的是哪个 Visual Studio 版本。
http://www.paulbatum.com/2011/09/getting-started-with-websockets-in.html
这是由于 Windows 7 中带有 http.sys 的一些低级问题。
它可能会被向后移植,但似乎不太可能:http://weblogs.asp.net/owscott/archive/2012/03/01/what-s-new-in-iis-8.aspx
要在 Windows 7 上使用 websocket,您必须编写自己的服务。
尝试将其用于客户端:http://websocket4net.codeplex.com/
【讨论】:
我遇到了同样的问题并使用Fleck 解决了它。实现起来非常简单:
一个。 NuGet 添加 Fleck 引用
两个。创建您的网络服务器套接字
// Create Websocket server
websocketServer = new Fleck.WebSocketServer("ws://localhost:82");
websocketServer.Start(socket =>
{
socket.OnOpen = () => Console.WriteLine("Open!");
socket.OnClose = () => Console.WriteLine("Close!");
socket.OnMessage = message => socket.Send(message);
});
我现在在一个端口上有一个 ASP.NET Self Host Web API,并且 websockets 连接在它旁边运行。
【讨论】: