2015-05-08 2 views
1

Я сейчас разрабатываю приложение Apache Cordova с Ionic Framework, которое должно взаимодействовать через WebSocket, и я использую для него библиотеку Socket.Io. Теперь, когда я запускаю его в своем настольном браузере, все работает нормально, но когда я создаю Android и тестирую его на своем смартфоне, он не работает.Socket.IO с Cordova не работает на устройстве

Мой сервер выглядит следующим образом:

var app = require('express')(); 
var server = require('http').Server(app); 
var io = require('socket.io')(server); 

server.listen(8200, '192.168.0.127', function() { 
    console.log('Server listening...'); 
}); 

io.listen(server); 

io.on('connection', function(socket) { 
    socket.emit('init', data); 
}); 

И так Ионные дружит с AngularJS мой клиент контроллер выглядит следующим образом:

.controller('AppCtrl', function($rootScope, $scope, ServerUrl) { 

    var socket = io.connect(ServerUrl.serverUrl()); // ServerUrl: 'http://192.168.0.127:8200' 

    socket.on('init', function(data) { 
    // something 
    }); 

Я включил скрипт клиента Socket.io в моем индексе. html head вот так:

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

Когда я удаляю отладочную версию приложения, он повторяет это повторно с различными параметрами т:

Failed to load resource: net::ERR_ADDRESS_UNREACHABLE  http://192.168.0.127:8200/socket.io/?EIO=3&transport=polling&t=1431079993172-0 

Я тщательно обыскали каждый связанный с этим вопрос здесь, но они не решить мою проблему. Мне действительно нужно, чтобы эта работа работала и была бы признательна за любую помощь.

Заранее благодарен.

+0

Ваш смартфон работает самостоятельно ** Интернет ** или ** ** **, который подключен к рабочему столу; – vijay

+0

@vijay, из образца, похоже, что он находится в локальной сети. Но это не имеет значения. – Keval

+0

@ farshad90, Попробуйте предоставить абсолютный путь, включая 'socket.io.min.js'. – Keval

ответ

0

Это проблема с IP-адресом. 192.168.0.127 был WiFi IP моего рабочего стола, но как-то каждый раз, когда я подключил свой смартфон к своему рабочему столу, чтобы развернуть приложение, сеть LAN была построена, а WiFi-адаптер был отключен, поэтому 192.168.0.127:8200 был недосягаем. Деактивирует сеть LAN в панели управления Windows, и все работает нормально.

Смежные вопросы