2

所以基本上我正在使用 node.js/express/socket.io 制作一个简单的 RTS 棋盘游戏,以获得学习体验。到目前为止,一切都很顺利,虽然我几乎在那里工作,纯粹是在本地主机上工作。将其部署到 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 deploy”这样做)但不是在服务器运行时加载页面。

任何帮助将非常感激!

谢谢,

4

1 回答 1

2

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

于 2012-11-11T16:58:37.763 回答