带有Phonegap的Android 4.4上的Websocket

Tob*_*asW 7 javascript android websocket cordova

我正在开发一个需要Websocket与我的服务器通信的应用程序.我正在使用Phonegap,所以我可以在浏览器中首先运行所有代码.由于Android 4.4 Websockets在Android中得到原生支持所以它应该可以工作......我用这段代码实现了Websocket:

$(document).ready(function () {
    console.log('websocketready');
    startwebsocket();
});
var ws;

function startwebsocket() {
    ws = new WebSocket('ws://192.168.1.131:8080/.....');

    ws.onopen = function () {
        console.log("Websocket Ready!!");
    }
    ws.onclose = function () {
        console.log("Websocket Closed!!");
    }
    ws.onerror = function () {
        console.log("Websocket Error!!");
    }
    ws.onmessage = function (data) {
        console.log('getvalue : ' + data.data);
    }
}

function sendMessage(temp) {
    ws.send(temp);
}
Run Code Online (Sandbox Code Playgroud)

这在我的浏览器(Chrome和Firefox)中运行良好.但是,如果我使用带有android 4.4.2的Nexus 5上的Phonegap启动应用程序,我会得到:'WebSocket连接到'ws://192.168.1.131:8080/.....'失败:意外响应代码:403 "

你有什么建议我可能错过了什么或我做错了什么?

小智 1

您是否提供 192.168.1.131 作为科尔多瓦的授权来源?

也许你应该尝试将其添加到你的 config.xml 中:

<access origin="192.168.1.131" />
Run Code Online (Sandbox Code Playgroud)

请查看此处了解更多信息。

希望有帮助:)