我正在开发一个需要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'
你有什么建议我可能错过了什么或我做错了什么?
答案 0 :(得分:1)
您是否向cordova提供192.168.1.131作为授权来源?
也许你应该尝试将它添加到你的config.xml:
<access origin="192.168.1.131" />
查看here了解更多信息。
希望有所帮助:)