Socket.io连接只建立在服务器重置(nodejitsu)在本地工作正常?

时间:2012-11-11 16:28:30

标签: node.js express socket.io nodejitsu

所以基本上我正在用node.js / express / socket.io制作一个简单的RTS棋盘游戏,以获得学习体验。到目前为止,它确实很顺利,但我几乎在那里纯粹在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");

});

服务器socket.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部署”)但不是在服务器运行时加载页面。

非常感谢任何帮助!

谢谢,

1 个答案:

答案 0 :(得分:2)

在客户端使用io.connect(),如果您需要更多帮助,请加入IRC上的#nodejitsu,http://webchat.jit.su或irc://chat.freenode.net/#nodejitsu