2015-10-27 5 views
0

Я хочу создать приложение Cordova для Android, которое связывается с сервером nodejs. Вот мой код:socket io и cordova

Клиент:

var socket = io.connect('ws://HEROKUHOST'); 
    console.log(socket); 
    socket.send('hi'); 
}); 

Сервер:

io.sockets.on('connection', function(socket){ 
    console.log("Connected"); 

    socket.on('message', function() { console.log("GOT MESSSS")}); 
}); 

Он работает локально в браузере, но в приложении он делает подключение, но не отправляет сообщение.
Итак, на сервере я возвращаю сообщение «Подключено» к соединению, но socket.on («message») никогда не звонит. У меня есть что-то блокирующее socket.send ('hi').

ответ

0

Является ли ваш сервер nodejs активным? Я предполагаю, что у Хорику есть право? Сделайте это, перейдите на ваш код: В кордовой код:

var socket = io.connect ('HEROKUHOST');

console.log (гнездо);

socket.emit ('message', {});

});

Нет необходимости использовать ws: // перед вашим URL. Держите его простым https url. Во-вторых, вместо socket.send используйте socket.emit Также socket.send используется на стороне сервера, а не на стороне клиента. Клиент называет событие «сообщение», которое, чем отправить с сервера с помощью socket.send («Привет»)

Надеется, что это помогает

+0

испускают также не работает, приложение подключается к серверу (Socket.connected верно), но между ними нет связи. Я тестировал ws (WebSockets), и он работает, но, к сожалению, мне нужно подключение socket.io. Я был бы рад иметь пример связи socket.io, которая работает на кордове. –

+0

Какова версия сокета, который вы используете на сервере и на клиенте? –