javascript - 来自 Phonegap 应用程序的 Socket.io 连接

标签 javascript cordova socket.io

我正在尝试从我的 PhoneGap 应用程序连接到 socket.io 服务器,如下所示。
首先,我将此行添加到 android config.xml

<access origin="*" />

然后我将socket.io客户端JS文件保存到我的PhoneGap资源文件夹中(因为我不想在每次启动时一次又一次地从服务器加载JS文件)并添加到index.html

<script src="js/socket.io" />

Then my code goes like below  

 var socket = io.connect('http://n.n.n.n:3000/'); // n.n.n.n is my IP address
 socket.on('connect', function() {
     alert('check 2', socket.socket.connected);
 });

但这不起作用。是否缺少任何内容或者我以错误的方式进行操作?

如果我从主机中包含这样的主机

 <script type="text/javascript" src="http://ip:3000/socket.io/socket.io.js"></script>

现在连接工作正常。但问题是每次我打开应用程序时,它都会再次加载,并且连接会再次发生。当应用程序在后台运行时,它不会接收。

最佳答案

如果不从服务器加载套接字客户端,您将无法与服务器通信。通信发生是因为您正在从服务器加载 js。没有其他方法可以做到这一点。

关于javascript - 来自 Phonegap 应用程序的 Socket.io 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21275842/

相关文章:

node.js - 使用expresso和socket.io-client测试服务器,但测试过程没有停止

node.js - socket.io 客户端与 'http://localhost' 连接不起作用?

jquery - Android 上的两个 json 请求后 phonegap 应用程序崩溃

javascript - VueJS : global variables not reconized in components

javascript - AngularJS 的可见性

javascript - 将 HTML 明文数据解析为 javascript 数组

javascript - Android 2.2 Web View 窗口在虚拟键盘出现时向上移动

javascript - 如何使用 phonegap 和 android 混淆 javascript 和 html 文件

node.js - Websocket 连接在 chrome 中有效,但在 firefox 中连接失败?

javascript - 如何在选项卡单击时隐藏和显示文本