Вопрос

Настройка websockets

Настроили все по инструкции https://academy.terrasoft.ru/documents/marketing/7-8/nastroyka-vebsoket…

Указали открытый 85 порт.

Однако все равно валится ошибка.

Подскажите, что стоит посмотреть?

Нравится

9 комментариев

А компонент на сервере для работы с Web-socket установлен? 

Терещенко Алексей,

Алексей, спасибо, действительно забыл :)

Vladimir Kov,

Однако проблема сохранилась:

WebSocket connection to 'ws://192.168.1.5/0/Nui/ViewModule.aspx.ashx' failed: Error during WebSocket handshake: Unexpected response code: 302

WrappedWebSocket @ VM2954:164

 

Vladimir Kov,

Сам недавно решал подобную проблему...

Попробуйте изменить portForClientConnection=0 и удалить параметры maxConnectionNumber="100" clearIdleSession="false" clearIdleSessionInterval="120". Они используются для настройки https.

Тоже на днях была похожая трабла. Рекомендую .Net Framework тебе обновить и заодно IIS проверить на текущую версию чтобы не ниже 8ой была. Порты кстати не так важно открывать из под localhost в dev tools хрома или мозилы в логах всё равно увидишь connection oppened for url бла-бла-бла.

Терещенко Алексей,

Попробовал, не помогло, пробую снова все поставить на 12 сервере.

 

Кисловский Михаил Андреевич,

Версии:

Необходимо произвести настройку внутреннего конфигурационного файла Terrasoft.WebApp\Web.config

Необходимо найти директиву

<wsService type="Terrasoft.Messaging

И установить ее со следующим набором параметров:

<wsService type="Terrasoft.Messaging.MicrosoftWSService.MicrosoftWSService,Terrasoft.Messaging.MicrosoftWSService" encrypted="false" portForClientConnection="0" />

PS: Конфигурационный файл вероятно уже содержит данную директиву, но с другим набором объектов и атрибутов,

<wsService type="Terrasoft.Messaging.SuperWSService.SuperWSService, Terrasoft.Messaging.SuperWSService" defaultPort="2011" encrypted="false" portForClientConnection="44310" maxConnectionNumber="100" clearIdleSession="false" clearIdleSessionInterval="120" />

его необходимо заменить на вышеуказанный!:

далее необходимо, найти директивы:

<add verb="GET" path="*ViewModule.aspx.ashx" …

и

<add name="WSHandler" verb="*" path="*ViewModule.aspx.ashx" …

Вероятнее всего они будут присутствовать в конфигурационном файле и будут закомментированы, в таком случае их необходимо раскомментировать.

В случае если такие директивы будут отсутствовать, необходимо добавить их в соответствующие ноды XML файла:

<system.webServer> 

<handlers>   

<add name="WSHandler" verb="*" path="*ViewModule.aspx.ashx" type="Terrasoft.Messaging.MicrosoftWSService.WSHandler, Terrasoft.Messaging.MicrosoftWSService" />

<location path="." inheritInChildApplications="false">

<httpHandlers>

<add verb="GET" path="*ViewModule.aspx.ashx" type="Terrasoft.Messaging.MicrosoftWSService.WSHandler, Terrasoft.Messaging.MicrosoftWSService" />

Севостьянов Илья Сергеевич,

Спасибо Илья.

Первая часть соответствует, строку разкоментил.

Ошибка в консоли:

WebSocket connection to 'ws://192.168.1.5/0/Nui/ViewModule.aspx.ashx' failed: Error during WebSocket handshake: Unexpected response code: 302

WrappedWebSocket @ VM4580:164

init @ all-combined.js:983

channelClosedHandler @ all-combined.js:986

Что можно еще попробовать?

Здравствуйте, Владимир!

Данная ошибка иногда возникает из-за того, что настроена переадрессация через прокси или nginx.

В случае, если ошибка всё еще осталась, рекомендуем Вам обратиться в службу технической поддержки для анализа данной проблемы аналитиками с помощью удалённого подключения.

Показать все комментарии