Ответ 1
Вы должны добавить хост socketio к ключу "ExternalHosts" в PhoneGap.plist.
См. Faq:
Q. Ссылки на и импортированные файлы с внешних хостов не загружаются?
а. Последний код имеет новую функцию белого списка. Если вы ссылаетесь на внешние хосты, вам нужно будет добавить хост в PhoneGap.plist под ключ "ExternalHosts". Подстановочные знаки в порядке. Поэтому, если вы подключаетесь к " http://phonegap.com, вам нужно добавить" phonegap.com "в список (или использовать подстановочный знак" *.phonegap.com" который также будет соответствовать поддоменам). (Примечание: если вы открываете plist файл в Xcode, вам не нужно будет возиться с синтаксисом XML.)
Для android вам нужно отредактировать файл cordova.xml и добавить доступ к хосту socketio:
<access origin="HOST*"/>
index.html(с примером socketio):
...
<script src="HOST/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('HOST');
socket.on('news', function (data) {
socket.emit('my other event', { my: 'data' });
});
</script>
...
app.js(пример на стороне сервера javascript/basic socketio):
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
В HOST вам нужно заменить имя хоста вашего сервера socket.io!