我刚刚安装了Visual Studio 2012 RC,并尝试运行启用WebSocket的netHttpBinding服务,并得到以下错误:
此平台不支持服务器端 WebSocket。
我正在运行的示例来自 http://blogs.microsoft.co.il/blogs/idof/archive/2012/03/01/what-s-new-in-wcf-4-5-websocket-support-part-1-of-2.aspx
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
这是由于带有http.sys的Windows 7中的一些低级问题。
它可能会被向后移植,但似乎不太可能:http://weblogs.asp.net/owscott/archive/2012/03/01/what-s-new-in-iis-8.aspx
要在Windows 7上使用websockets,您必须编写自己的服务。
尝试将其用于客户端:http://websocket4net.codeplex.com/
而这个用于服务器端:http://superwebsocket.codeplex.com/
我遇到了同样的问题,并使用Fleck解决了它。 实现起来非常简单:
一。NuGet 添加 Fleck 引用
二。创建您的 Web 服务器套接字
// 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 自主机 Web API,并且 websockets 连接在它旁边运行。