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