我有一个使用 socket.io 的 html5/javascript 应用程序,它在浏览器上运行良好,但是在 Phonegap Build for Android 中编译时 socket.io 在执行时无法连接socket = io.connect([server]:[port])
。
我已经尝试了很多可能的解决方案,但都没有成功。这是我已经尝试过的:
- 连接到 socket.io 时使用 IP 而不是全域
ondeviceready
触发事件后完成的socket.io连接cordova-plugin-whitelist
config.xml 中的插件https://github.com/mkuklis/phonegap-websocket
config.xml 中的插件- 尝试
cordova-plugin-crosswalk-webview
在 config.xml 中使用,但 Phonegap Build 只是没有完成编译过程并引发错误 access origin="*"
在 config.xml 中io.set('origins', ':')
在服务器代码中- 不同的 socket.io 传输(websockets、轮询等)
我正在使用 Phonegap 的最新版本 6.5.0(Phonegap Build 不允许我使用以前的版本,如 6.4.5)。
无论我做什么,socket.on("connect", function() { alert(socket.id) })
都不会在 Android 上触发。但是,在 Web 上,它会使用正确的 socket.id 发出警报。
另外,我尝试DEBUG=* node server.js
使用 Android 版本签出日志,但没有出现任何内容。