Использование WebSocket в Windows 7

Я только что установил Visual Studio 2012 RC и попытался запустить службу с 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 работать в Windows 7 с Visual Studio 2012 RC?

Ответы на вопрос(3)

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

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

Решение Вопроса

веб-сокеты изначально поддерживаются Windows в Windows 8, независимо от того, какую версию 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, вам придется написать свой собственный сервис.

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

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

 04 июл. 2013 г., 13:43
Совершенно верно, спасибо - отредактировал и ссылку на серверную часть этого проекта.
 02 июл. 2013 г., 21:24
Я ошибаюсь, что websocket4net предназначен для реализации на стороне клиента? Не будет ли SuperWebSocket тем, что необходимо для приема соединений на стороне сервера? IDK, я могу ошибаться, но это на основании описания на странице, на которую вы ссылаетесь.

веснушка, Тривиально просто реализовать:

Один. 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 на одном порту, и вдоль него проходит соединение через веб-сокеты.

 09 янв. 2017 г., 15:15
Это интересно, просто подчеркнув, что Fleck является реализацией на стороне сервера, а не на стороне клиента.

Ваш ответ на вопрос