在Windows 7上使用WebSocket

时间:2012-06-14 18:45:51

标签: websocket .net-4.5

我刚刚安装了visual studio 2012 RC,并尝试使用netHttpBinding运行服务,启用WebSocket并获得以下错误

此平台不支持服务器端WebSockets。

我正在运行的示例来自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可以在Windows 7上使用visual studio 2012 RC吗?

3 个答案:

答案 0 :(得分:46)

不,无论您使用哪种Visual Studio版本,都只支持Windows 8中的Windows本地支持。

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上使用websockets,您必须编写自己的服务。

尝试将此用于客户端:http://websocket4net.codeplex.com/

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

答案 1 :(得分:16)

我遇到了同样的问题并使用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 Self Host Web API,并且它旁边有一个websockets连接。

答案 2 :(得分:2)

我开发了一个使用async / await的.NET WebSocket server component,支持SSL和压缩,集成了keep alive等许多东西。

干杯。