WebSocket network error

В консоли браузера обнаружил множество ошибок вида:

WebSocket network error: Не удалось завершить операцию. Операция превысила ресурс времени

Что делать? Как лечить?

Нравится

22 комментария

По-моему у Вас в IIS не включен WebSocket:

In Control Panel, click Programs and Features, and then click Turn Windows features on or off.
Expand Internet Information Services, expand World Wide Web Services, expand Application Development Features, and then select WebSocket Protocol.

© http://www.iis.net/configreference/system.webserver/websocket

Включен, 100%

Тут смотрим компоненты сервера (стр.6):
http://www.training.terrasoft.ru/sites/default/files/BPMonline_Setup_Gu…
Т.е. таки проверьте все ли компоненты у вас включены.

А после проверьте открыт ли у вас TCP/UDP порт 2011 - именно по нему работает WebSocket Protocol по-умолчанию.

telnet -a en.demo.bpmonline.com 2011

хм... действительно, похоже, причиной был порт.

Поторопился.
Проблема остается.
после того, как открыл порт, команда: telnet -a myserver 2011 успешно выполняется - соединение устанавливается.
Но, в консоли браузера теперь я вижу другую ошибку:

WebSocket network error: Не удалось завершить операцию. Подключение отклонено

Попробовал зайти в BPMonline непосредственно с той машины, на которой он установлен. Там - тоже вижу ошибку, но другую.

сначала:
WebSocket Error: Network Error 12030, Подключение к серверу было неожиданно прервано

и, следом:
WebSocket Error: Network Error 12029, Не удается установить связь с сервером

Прилагаю небольшой док по настройке:
nastroyka_websocket.doc
Если не поможет решить проблему, предоставьте, пожалуйста, версию bpm'online, версию Windows, на которой развернут сайт, скриншот ошибки и файл web.config из директории Terrasoft.WebApp приложения.
Спасибо!

Извините, но это - инструкция для инопланетян, а не для пользователей далеко НЕ БЕСПЛАТНОГО продукта!

bayborodin, если Вы решили работать с системой on-site, предполагается, что у Вас есть админ, который может поддерживать сервера БД и приложений и понимает, что такое конфигурационные файлы и как с ними работать. В противном случае предлагаю обратиться в техническую поддержку для получения более детализированной инструкции.

но у вас там и правда не понятно
сначала

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

а чуть ниже

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

Андрей, рискну предположить, что моя квалификация будет повыше, чем у рядового админа. Совет не уместен. Лучше постыдились бы такой сырой продукт на рынок выпускать.

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

"bayborodin" написал:Лучше постыдились бы такой сырой продукт на рынок выпускать.

при покупке on-site делается особое замечание о том, что все трудности и тяготы поддержания работоспособности серверов и сервисов берет на себя клиент.
Подобное замечание было бы уместно только в отношении он-деманд в случае, если бы там не могли бы решить эту проблему.

Дмитрий, не соглашусь с вами!
Собрать инсталятор, который поднимет хост на IIS и соберет конфигурационные файлы под конкретную систему - не великая задача. Вместо этого, клиенту предлагается архивчик с файлами. Это говорит о качестве продукта.
Продукт не снабжен документацией в той мере, к которой требует его администрирование. Это говорит о качестве продукта.
Клиенту предлагают в качестве решения невнятный вордовый документ, которого не касалась рука технического редактора. Это говорит о качестве продукта.

"bayborodin" написал:Собрать инсталятор, который поднимет хост на IIS и соберет конфигурационные файлы под конкретную систему - не великая задача. Вместо этого, клиенту предлагается архивчик с файлами.

Инсталятор есть (или был). Но поверьте - лучше архивчик, он более гибок.

Инструкция (которая и не инструкция вовсе) не понятна, все остальное - эмоции.

bayborodin, Вы обращаетесь за помощью на форум, где зарегистрироваться может любой желающий и писать практически все, что захочет, и выражаете недовольство качеством ответов пользователей форума, которые совершенно необязательно даже имеют отношение к компании Terrasoft и выпускаемых ею продуктов.
Мне кажется, это не самое подходящее место. Форум существует для того, чтобы помогать решать вопросы и обмениваться опытом.
Если у Вас есть претензии и/или пожелания по улучшению качества продуктов и инструкций к ним, обращайтесь, пожалуйста в техническую поддержку или в раздел "Идеи". Будет больше пользы.

"Андросов Дмитрий" написал:

Инсталятор есть (или был). Но поверьте - лучше архивчик, он более гибок.


От инсталлятора пока что отказались вроде бы.

Андрей, прошу извинить меня, если чем-то задел.
Дело в том, что ровно ту же самую инструкцию мне прислала техподдержка Террасофта. Тем самым они автоматически берут на себя ответственность за тот материал, который высылают своим пользователям в качестве решения.
Претензии - к ним, не к вам!

bayborodin, нет проблем. Просто не совсем понятно, зачем это писать на форуме.
Есть цель - решить проблему с веб-сокетами. Проблема решена? Если да - хорошо. Если нет, то давайте дальше работать над решением.

Как вариант - сделать 2 файла Web.config
Какой нужно, такой и выбираешь

Подскажите разницу между параметрами defaultPort и portForClientConnection во внутреннем Web-конфиге. Как я понимаю, сервер может сам инициировать соединение WebSocket (то есть выступать в роли клиента) и в этом случае он буде пытаться подключиться к ip_клиента:portForClientConnection ?

Здравствуйте!

portForClientConnection – параметр, который нужно использовать при работе с web фермой. Если Вы веб ферму не используете – то данный параметр лучше установить в 0

Он позволяет задать принудительно вручную порт для WS подключения с клиента, в случае защищенного канала (только для SuperWS).

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