在Windows 7上使用WebSocket

np-*_*ard 34 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-的-2.aspx

WebSockets可以在Windows 7上使用visual studio 2012 RC吗?

Nik*_*Nik 46

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

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/


ton*_*and 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);
});
Run Code Online (Sandbox Code Playgroud)

我现在在一个端口上有一个ASP.NET Self Host Web API,并且它旁边有一个websockets连接.