Javascript Phaser.js中的Node.js和Socket.io未连接Socket.io/?EIO=3&;传输=轮询

Javascript Phaser.js中的Node.js和Socket.io未连接Socket.io/?EIO=3&;传输=轮询,javascript,node.js,express,socket.io,phaser-framework,Javascript,Node.js,Express,Socket.io,Phaser Framework,我可以运行node.js服务器,运行phaser.js游戏,但在游戏运行时没有“连接”console.log。相反,我从客户端收到以下错误消息: socket.io-1.4.5.js:1 GET net::ERR\u连接被拒绝 服务器: var serverPort = 8080; console.log("Initializing Server."); var express = require('express'); var connect = require('connect');

我可以运行node.js服务器,运行phaser.js游戏,但在游戏运行时没有“连接”console.log。相反,我从客户端收到以下错误消息:

socket.io-1.4.5.js:1 GET net::ERR\u连接被拒绝

服务器:

var serverPort = 8080;

console.log("Initializing Server.");

var express = require('express');
var connect = require('connect');
var app = express();
var serv = require('http').Server(app);  //.createServer(app);
var io = require('socket.io').listen(serv);  //(serv,{});

console.log("Starting Server.");

var serveStatic = require('serve-static');
connect().use(serveStatic(__dirname)).listen(serverPort, function(){
    console.log('Server running on ' + serverPort + ' !');
});

app.get('/',function(req, res) {
    res.sendFile(__dirname + '/index.html');
});

serv.listen(8081);

var SOCKET_LIST = {};
io.on('connection',function(socket){  
    console.log("A user is connected");
});

io.sockets.on('connection', function(socket){
    console.log('Socket connection');
});
客户

var local = "http://" + document.location.host + ":8081";
        var socket = io().connect(local);

在客户端代码中,您使用的是
io().connect(local)
,但是使用指定地址与变量连接的正确方法是
io.connect(local)


此外,document.location.host将包括“:8080”,如果它是您用于获取页面的地址的一部分,则需要将其删除。您可以尝试类似于
document.location.host.split(“:”)[0]

的方法在客户端代码中使用
io().connect(local)
但是使用指定地址与变量连接的正确方法是
io.connect(local)


此外,document.location.host将包括“:8080”,如果它是您用于获取页面的地址的一部分,则需要将其删除。您可以尝试类似于
document.location.host.split(“:”)[0]

var local=“http://“+document.location.host+”:8081”;var套接字=io.connect(本地);ok现在尝试:仍然没有连接之前使用的
io()
它使用自动发现,所以它忽略了您传入的地址。你说没有联系?这是否意味着您将遇到类似的错误?对不起,是的,客户端出现相同的错误。服务器端未显示console.log连接相同,如仍在尝试连接到8080或相同错误,但现在连接到8081?如果你在连接到8081时遇到同样的问题,那么问题似乎不在你的应用程序上,因为我复制并粘贴了你的代码,做了这个更改,它工作正常。您确定没有任何东西阻止此端口上的连接吗?非常确定连接未被使用,您可以在phaser.js?var local=“http://“+document.location.host+”:8081”中使用它;var套接字=io.connect(本地);ok现在尝试:仍然没有连接之前使用的
io()
它使用自动发现,所以它忽略了您传入的地址。你说没有联系?这是否意味着您将遇到类似的错误?对不起,是的,客户端出现相同的错误。服务器端未显示console.log连接相同,如仍在尝试连接到8080或相同错误,但现在连接到8081?如果你在连接到8081时遇到同样的问题,那么问题似乎不在你的应用程序上,因为我复制并粘贴了你的代码,做了这个更改,它工作正常。您确定没有任何东西阻止此端口上的连接?非常确定连接未被使用,您能够在phaser.js中使用它吗?