Websocket Connection больше не работает с Cordova Android 7 - PullRequest
0 голосов
/ 01 ноября 2018

Я недавно обновил свое приложение Cordova до Cordova Android 7.1.1 (с версии 6.x). Я использую веб-сокеты в этом приложении для подключения к другому приложению, на котором работает сервер веб-сокетов, который раньше работал нормально. Теперь после обновления до Cordova Android 7.1.1 соединение больше не может быть установлено. Сбой этого сообщения (из консоли Chrome):

WebSocket connection to 'ws://192.168.178.20:52998/' failed: 
Error in connection establishment: net::ERR_ACCESS_DENIED

Не было внесено никаких изменений в код, который отвечает за установление соединения. Это выглядит так:

ns.connection = new WebSocket(uri); // uri would be e.g. 'ws://192.168.178.20:52998/'

Я не могу найти причину этого. Я уже пытался добавить заголовки CSP и многое другое, но безрезультатно. Я удостоверился, что соединение работает в целом, поэтому оно должно быть как-то связано с изменениями, внесенными с Cordova Android 6.x в 7.x, я думаю.

1 Ответ

0 голосов
/ 01 ноября 2018

Изменения в Cordova включали использование заголовков CORS. Теперь вы должны убедиться, что ваш CORS настроен на разрешение. Например:

config.xml:

<access origin="*" />
<allow-navigation href="*"/>

Content-Security-Policy в index.html:

<meta http-equiv="Content-Security-Policy" content="default-src *; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data:">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...