【问题标题】:cordova/phonegap : cannot connect to socket.iocordova/phonegap:无法连接到 socket.io
【发布时间】:2015-10-10 15:39:47
【问题描述】:

我的应用程序在浏览器上运行良好。

当我使用 intelXDL / phonegap 编译它时:AJAX 调用工作正常,但 socket.io 连接不行。 (套接字使用端口 1445)

我有

“状态:取消”

看来是权限问题

我尝试为白名单添加所有可能的组合(我使用 CLI 4.1.2)

    http://www.example.com/*
    http://www.example.com:1445/*
    http://*:1445/*
    http://*
    *

第一条规则使 AJAX 调用成为可能。其他规则不允许连接到端口 1445 上的 socket.io

有什么想法吗?

【问题讨论】:

    标签: cordova socket.io intel-xdk


    【解决方案1】:

    @yarek,
    这是一个固定的答案,因为 Cordova 只是移动文档,没有警告或公告。

    许多常见的白名单问题的修复

    替代方法是这个快速修复——但要知道这个快速修复消除了对white-list 的所有需求。这会创建一个您可能不想绕过的security issue

    快速修复将此添加到您的 config.xml 以供 PHONEGAP BUILD ONLY
    <preference name="phonegap-version" value="3.7.0" />

    长答案是这样的:

    来自Top Mistakes by Developers new to Cordova/Phonegap,您已点击:

    • #6 没有为你的编译器设置“phonegap 版本”
    • #7 没有为你的插件设置“版本”
    • #10 不在 config.xml 中添加新的“白名单”和“白名单插件”参数。

    #6 & #7

    使用 CLI 版本,如果您没有为您的平台或“Phonegap Build”分配版本,如果您没有在 config.xml 中设置 phonegap-version,您将获得最新版本。如果幸运的话,您的程序会按预期运行。如果你不走运,你会得到一系列级联错误。

    幸运的是,Holly Schinsky 写了一篇很好的博文来解释这一切:

    Cordova/PhoneGap 版本混乱
    http://devgirl.org/2014/11/07/cordovaphonegap-version-confusion/

    #10

    这个相对 * 新 * 要求意味着——要访问网络上的任何网站或资源,您必须使用白名单和白名单插件。如果您使用的是 cordova-android@4.0.0 或更高版本,此要求将生效;包括 cli-5.1.1 和 cli-5.2.0。但是,如果您的版本在 4.0.0 之前,比如 3.5.0 或 3.7.0,那么您将不必添加白名单要求。 p>

    需要明确的是,“白名单”已经存在了一段时间,但插件和要求是非常新的。如您所料,当添加“白名单”时,事实上的开放访问功能已被弃用。或者换一种说法,事实上的开放访问功能是计划和计划取消的。这一变化标志着在移除开放获取功能方面迈出了一步。

    此外,内容安全政策 (CSP) 吸引了众多开发人员 - 因为它的宣传太差了。 根据您的使用和您使用的Phonegap 版本,CSP 需要进入您使用的每个HTML 页面,就像您必须等待“设备就绪”一样。但是,在某些情况下根本不需要它。文档让某些人感到困惑,请仔细阅读。 该文档隐藏在许多最新文档页面的底部。

    相关链接

    Phonegap 构建论坛:Notes for upgrading to cli-5.1.1 on PGB,现在需要白名单

    【讨论】:

    • 帮助很大。不幸的是,由于这个 guid,我已经玩过所有这些并修复了 ajax 调用。但没有办法修复 sokcet.io 连接。您没有使用 socket.io 的有效 phonegpa 项目或示例吗?
    • 您可以尝试使用 websocket URI。它是ws://谷歌:websocket url。这看起来是一个很好的例子:Websocket.org | Echo test 如果您仍有问题,请回信 - 我会为您提供一个示例。祝你好运
    猜你喜欢
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多