Socket.io соединение только устанавливает при сбросе сервера (nodejitsu) работает нормально локально?

Так что в основном я делаю простую настольную игру RTS с node.js/express/socket.io для обучения. Пока все идет очень хорошо, и я, хотя и был почти там, работал исключительно на localhost. Развернул его в nodejitsu и загрузил страницу вверх, но сервер не отправляет начальные данные сервера клиенту. Если (пока страница открыта, без обновления) я перезагружаю сервер, он устанавливает соединение, и все работает как положено, но клиент, посещающий сервер, этого не делает.

Код инициализации сервера:

    var express = require('express');
var app = require('express')()
  , server = require('http').createServer(app)
  , io = require('socket.io').listen(server);


server.listen(8080);

app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res){

    res.sendfile("index.html");

});

app.get('/RTSwords', function(req, res){

    //res.sendfile("public\\RTSwords.html");
    res.sendfile("RTSwords.html");

});

Код сокета сервера.io

// define interactions with client
io.sockets.on('connection', function(socket){
    //send them board and first seven tiles.

    socket.emit('serverNews', {'game': JSON.stringify(gameBoard), 'newTiles': randomTileString(7)});

И клиентский код socket.io

var socket = io.connect('http://MYURLHERE');
.......
socket.on('serverNews', function(data){
            update(data);
        });

Так что да, в общем, он работает локально, работает, когда страница загружена и сервер перезапущен (я просто "jistu deploy" собираюсь сделать это), но не когда сервер работает, страница загружается.

Любая помощь приветствуется!

Спасибо,

1 ответ

Решение

По клиенту пользуюсь io.connect(), если вам нужна дополнительная помощь, присоединяйтесь к #nodejitsu в IRC, http://webchat.jit.su/ или irc://chat.freenode.net/#nodejitsu

Другие вопросы по тегам