带有Phonegap的Android 4.4上的Websocket

时间:2014-05-02 12:12:55

标签: javascript android cordova websocket

我正在开发一个需要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);
}

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

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

1 个答案:

答案 0 :(得分:1)

您是否向cordova提供192.168.1.131作为授权来源?

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

<access origin="192.168.1.131" />

查看here了解更多信息。

希望有所帮助:)