Websocket连接不再适用于Cordova Android 7

时间:2018-11-01 00:21:28

标签: android cordova websocket

我最近将我的Cordova应用程序更新为Cordova Android 7.1.1(从6.x开始)。我在此应用程序中使用websockets连接到另一个运行websocket服务器的应用程序,该服务器以前运行正常。现在,升级到Cordova Android 7.1.1后,将无法再建立连接。失败,并显示以下消息(来自chrome控制台):

SNAPSHOT

未对负责建立连接的代码进行任何更改。看起来像这样:

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

我找不到原因。我已经尝试添加CSP标头等,但无济于事。我确保连接可以正常工作,所以它一定与我想从Cordova Android 6.x到7.x所做的更改有关。

1 个答案:

答案 0 :(得分:1)

Cordova中的更改包括遵循CORS标头。现在,您必须确保将CORS设置为允许。例如:

config.xml:

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

index.html中的Content-Security-Policy:

<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:">