Connect2和Socket.io

sky*_*man 5 connect node.js socket.io

我正在努力让connect和socket.io很好地协同工作.我在服务器端有以下代码:

var connect = require('connect'),
    io = require('socket.io');

var app = connect().use(connect.logger('dev'));
var sio = io.listen(app);

app.listen(8000);
Run Code Online (Sandbox Code Playgroud)

当我打开http:// localhost:8000/socket.io/socket.io.js 我收到错误:

Cannot GET /socket.io/socket.io.js
Run Code Online (Sandbox Code Playgroud)

并且Socket.IO无法正常工作,我正在尝试复制文件并从其他位置加载,但socket.io请求无法到达服务器

sky*_*man 10

如果有人遇到此问题,您需要将connect/express应用程序包装在节点http.Server中.app.listen()方法是一个方便的方法,并返回服务器:

var io = require('socket.io');
var app = connect();
var server = app.listen(3000);
io.listen(server);
Run Code Online (Sandbox Code Playgroud)

或以下是等效的:

var io = require('socket.io');
var http = require('http');
var app = connect();
var server = http.createServer(app);
server.listen(3000);
io.listen(server);
Run Code Online (Sandbox Code Playgroud)