我正在更新旧应用程序以使用socket.io 1.4而不是0.9(并表示4而不是3)但我无法启动socket.io。在我的旧应用程序中,我会按如下方式设置:
var socket = require('socket.io');
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
var io = socket.listen(server);
server.listen(8080);
根据1.x文档,我认为这应该有效:
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
var io = require('socket.io')(server);
server.listen(8080);
我无法弄清楚我错过了什么。试图添加 io.listen(服务器),以防通过服务器不够,但这也没有效果。我不认为这是错误的语法......但我显然错过了让它像以前一样工作的一些步骤。
答案 0 :(得分:0)
我会尝试在这里提供一个有用的答案,以便您可以提出问题。
您的第二个代码块与socket.io doc中显示的此组合完全一致。唯一的区别是他们使用.Server()
构造函数并使用.createServer()
方法(如果你看代码)做同样的事情:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(8080);
所以,我不认为这就是问题所在。有些事要检查:
编辑:正如OP在评论时发现我在调查其他一些问题时发现,socket.io服务器启动得很好 - OP只是期望在1.x版本之前看到一些控制台输出