获取http://MY_DOMAIN.com/socket.io?EIO=3&transport=polling&t=1449205340962-2 404(未找到)

时间:2015-12-04 05:15:24

标签: javascript node.js sockets

我已经部署了我的代码但是无法让socket.io在生产中工作。

我已使用命令npm install --save socket.io

安装了socket.io节点模块

以下是我app.js中的相关代码:

var debug = require('debug')('chat');
var express = require('express');
var app = express();

app.set('port', process.env.PORT || 8080);

var server = app.listen(app.get('port'), 'APP_PRIVATE_IP_ADDRESS', function() {
  debug('Express server listening on port ' + server.address().port);
});

var io = require('socket.io')(server);

我正在使用浏览器客户端 <script src="https://cdn.socket.io/socket.io-1.3.7.js"></script>

此外,以下客户端代码不会打印connect:

var socket = io();
socket.on('connect', function(){
    console.log('connect');
});

我感谢任何帮助!

Here is my site where I've deployed this code

1 个答案:

答案 0 :(得分:0)

您不应该以这种方式使用express。您应该使用http包创建服务器并通过以下方式将express附加到其中:

var httpServer;
var http           = require( "http" );
var express        = require( "express" );
var app            = express();
var io             = require( 'socket.io' )( httpServer ); 

httpServer = http.createServer( app ).listen( process.env.PORT, process.env.IP || "0.0.0.0", function() {  
    // server code here
});