Я запускаю приложение websocket на CloudBees — и я с перерывами вижу:
Я сказал ему использовать http 1.1, чтобы позволить Upgrades через:
И он работает, но иногда я вижу ошибку (не всегда).
Это почти наверняка связано с тем, что не используется https (SSL). Websocket поверх простого http уязвим для прокси в середине (часто прозрачный), работающий на уровне http, нарушающем соединение.
Это распространено в сотовых сетях или офисных сетях, которые могут использовать несколько беспроводных соединений с прокси-сервером, который распространяет HTTP-запросы через соединения.
Единственный способ избежать этого — использовать SSL все время — это дает websocket лучший шанс работать.
Добавление к решению Майкла Нила.
Как указано там, Play не поддерживает WSS изначально, по состоянию на конец октября 2013 года.
Таким образом, просто переход на SSL не будет работать.
К счастью, при настройке приложения на использование SSL Cloudbees устанавливает сервер Nginx в качестве маршрутизатора, а конечная точка SSL является маршрутизатором, поэтому обходной путь, описанный там будет работать.
Итак, создав собственное доменное имя и соответствующий псевдоним приложения Cloudbees, настройте свои SSL-сертификаты на маршрутизаторе Cloudbees и настройте приложение для использования этого маршрутизатора Cloudbees, вы сможете подключиться к веб-окнам.
А компонент на сервере для работы с 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″ clear . Они используются для настройки https.
- Войдите или зарегистрируйтесь, чтобы оставлять комментарии
- Цитировать
Тоже на днях была похожая трабла. Рекомендую .Net Framework тебе обновить и заодно IIS проверить на текущую версию чтобы не ниже 8ой была. Порты кстати не так важно открывать из под localhost в dev tools хрома или мозилы в логах всё равно увидишь connection oppened for url бла-бла-бла.
- Войдите или зарегистрируйтесь, чтобы оставлять комментарии
- Цитировать
Терещенко Алексей,
Попробовал, не помогло, пробую снова все поставить на 12 сервере.
Кисловский Михаил Андреевич,
- Войдите или зарегистрируйтесь, чтобы оставлять комментарии
- Цитировать
Необходимо произвести настройку внутреннего конфигурационного файла …Terrasoft.WebAppWeb.config
Необходимо найти директиву
PS: Конфигурационный файл вероятно уже содержит данную директиву, но с другим набором объектов и атрибутов,
его необходимо заменить на вышеуказанный!:
далее необходимо, найти директивы:
Вероятнее всего они будут присутствовать в конфигурационном файле и будут закомментированы, в таком случае их необходимо раскомментировать.
В случае если такие директивы будут отсутствовать, необходимо добавить их в соответствующие ноды XML файла:
I am trying to integrate Socket.io with Angular and I’m having difficulties making a connection from the client-side to the server. I’ve looked through other related questions but my issue is happening locally, so there’s no web server in the middle.
This is what my server code looks like:
I’m loading the client side JavaScript files using Grunt in the following order:
Then in my controller:
Before actually using the btford/angular-socket-io library, I want to make sure that I can get a connection correctly, but I get the following error in the console: