2012-06-14 4 views
31

Я только что установил Visual Studio 2012 RC и попытался запустить службу с netHttpBinding позволяя WebSocket и получить следующее сообщение об ошибкеИспользование WebSocket на Windows 7

Эта платформа не поддерживает стороны сервера 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 с визуальной студии 2012 RC?

ответ

44

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

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

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

Там в offchance может быть портированным, но кажется маловероятным: 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/

+0

Я ошибаюсь в том, что websocket4net предназначен для реализации на стороне клиента? Разве SuperWebSocket не был бы необходим, чтобы принимать соединения на сервере? IDK, я могу ошибаться, но это основано на описании на странице, на которую вы ссылаетесь. – AaronLS

+0

Совершенно верно, спасибо - отредактированы, чтобы включить ссылку на серверную часть этого проекта. – Nik

15

Я столкнулся с той же проблемой и решить ее с помощью 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 веб-хостинга самообслуживания API на один порт и подключение WebSockets работает вдоль стороны это.

+0

Это интересно, просто подчеркивая, что Fleck - это серверная реализация, а не клиентская. –

2

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

Cheers.

Смежные вопросы