得到http://MY_DOMAIN.com/socket.io?EIO=3&transport=轮询&

GET http://MY_DOMAIN.com/socket.io?EIO=3&transport=polling&t=1449205340962-2 404 (Not found)

本文关键字:amp EIO 轮询 transport io MY http DOMAIN socket com 得到      更新时间:2023-09-26

我已经部署了代码,但无法在生产中使用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>

此外,以下客户端代码不打印连接:

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

我感谢任何帮助!

这是我部署此代码的站点。

您不应该以这种方式使用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
});