gpt4 book ai didi

android - Websocket 连接不再适用于 Cordova Android 7

转载 作者:行者123 更新时间:2023-11-29 18:41:00 27 4
gpt4 key购买 nike

我最近将我的 Cordova 应用更新到 Cordova Android 7.1.1(从 6.x 开始)。我在这个应用程序中使用 websockets 连接到另一个运行 websocket 服务器的应用程序,它曾经工作正常。现在,升级到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 header 等,但无济于事。我确保连接正常工作,所以我猜它一定与从 Cordova Android 6.x 到 7.x 所做的更改有关。

最佳答案

Cordova 中的更改包括遵守 CORS header 。您现在必须确保您的 CORS 设置为允许。例如:

配置文件:

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

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

关于android - Websocket 连接不再适用于 Cordova Android 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53093634/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com