2013-03-06 2 views
10

Я попытался создать обработчик для веб-розеткой, но context.IsWebSocketRequest возвращается всегда ложно и не работает с IIS 8 Экспресс на окнах 7.WebSocket проблема с IIS 8 Экспресс на ОС Windows 7

Как включить модуль для WebSocket или какой-нибудь шаг, который я пропущу? У меня есть приложение VS 2012 с динамическим URL-адресом IIS Express.

Пожалуйста, помогите тем же.

+0

Если вам нужно WebSockets в Windows 7, вы можете использовать свой разъем WebSocket: http://vtortola.github.io/WebSocketListener/ – vtortola

ответ

9

Протокол WebSocket должен быть включен в IIS 8 (см. http://www.codeguru.com/csharp/csharp/programming-html5-web-sockets-in-asp.net-4.5.htm). Кроме того, я не уверен, что веб-сокеты поддерживаются в Windows 7. Я только видел, что требуется Windows 8 или Windows Server 2012.

+0

Это все, что нужно после нескольких недель обходных путей ... – FranciscoBouza

8

Короткий ответ, вы можете написать приложения от WebSockets в Windows 7 с помощью IIS 8 Express, но вы не можете на самом деле тест их. Для этого требуется ОС Windows 8 или Windows Server 2012.

Из IIS 8.0 Express ReadMe:

WebSocket Поддержка

IIS 8.0 Экспресс поддерживает запись WebSocket приложений. Для получения дополнительной информации см. Спецификацию протокола WebSocket или тему пространства имен System.Net.WebSockets на веб-сайте Microsoft MSDN.

Windows Server 2012 и Windows 8 функции, которые не работают в операционных системах нижнего уровня

Там несколько особенностей, которые требуют архитектуры, которая специфична для Windows Server 2012 и Windows 8 Клиента, который не будет работа нижнего уровня при установке IIS 8.0 Express, на более ранних операционных систем :

Имя сервера Indication (SNI)
Центральный сертификат магазин
WebSocket Fun ctionality

Тогда из System.Net.WebSockets MSDN entry (курсив мой):

Некоторые из классов в пространстве имен System.Net.WebSockets поддерживаются в Windows 7, Windows Vista SP2 и Windows Server 2008. Однако единственные публичные реализации клиентских и серверных WebSockets поддерживаются в Windows 8 и Windows Server 2012. Классы и элементы класса в пространстве имен System.Net.WebSockets, которые поддерживаются в Windows 7, Windows Vista с пакетом обновления 2 (SP2) и Windows Server 2008 год - абстрактные классы. Это позволяет разработчику приложения наследовать и расширять эти абстрактные классы с фактической реализацией клиентских WebSockets.

+5

Я попытался WebSockets на Windwos 7 и не получил его на работу. Помимо невероятного факта, что веб-сокеты требуют обновления ОС не только для серверов, но даже для всех dev-машин, я шокирован и смущен в записи msdn: «единственные публичные реализации клиентских и серверных WebSockets поддерживаются в Win 8 ...». Прости, что??? Классы - это концепция языка программирования.Какой беспорядок это с классами и ОС? Это звучит очень странно для меня. – citykid

+1

Что относительно Windows 10? –

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