34

我刚刚安装了 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 上工作吗?

4

2 回答 2

46

不,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/

这对于服务器端:http ://superwebsocket.codeplex.com/

于 2012-06-15T11:56:39.657 回答
16

我遇到了同样的问题并使用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 连接在它旁边运行。

于 2013-03-28T10:24:52.153 回答