Подтвердить что ты не робот

Использование websocket на windows7

Я только что установил 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?

4b9b3361

Ответ 1

Нет, websockets поддерживается только Windows в Windows 8, независимо от того, какую версию Visual Studio вы используете.

http://www.paulbatum.com/2011/09/getting-started-with-websockets-in.html

Это связано с некоторыми проблемами низкого уровня в Windows 7 с http.sys.

Там можно сказать, что это может быть backported, но кажется маловероятным: http://weblogs.asp.net/owscott/archive/2012/03/01/what-s-new-in-iis-8.aspx

Чтобы использовать websockets в Windows 7, вам нужно будет написать свой собственный сервис.

Попробуйте использовать это для клиентов: http://websocket4net.codeplex.com/

и это для серверной части: http://superwebsocket.codeplex.com/

Ответ 2

Я столкнулся с той же проблемой и решил ее, используя 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);
});

Теперь у меня есть веб-API ASP.NET Self Host на одном порту и соединение веб-сокетов, идущее вдоль него.

Ответ 3

Я разработал .NET серверный компонент NET WebSocket, который использует async/await, поддерживает SSL и сжатие, интегрировал поддержку и многое другое.

Приветствия.