我已经部署了我的代码但是无法让socket.io在生产中工作。
我已使用命令npm install --save 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');
});
我感谢任何帮助!
答案 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
});