【发布时间】:2014-07-20 21:43:45
【问题描述】:
我正在尝试让 socket.io 与 node/express 一起运行(我已经这样做了无数次 - 所以我很困惑)。当我尝试使用 io.configure 方法配置 socket.io 时出现错误:
io.configure(function() {
^
TypeError: Object #<Server> has no method 'configure'
at Object.<anonymous> (/home/yz/webdev/ground/app.js:377:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
我的代码正是它在socket.io 上所说的那样 - 但我会发布它以防万一:
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
server.listen(8000);
//other declarations
app.use(...
passport.use(...
//some routes
app.get(...
app.post(...
io.configure(function() {
io.set('transports', ['websocket','xhr-polling','flashsocket']);
io.set('flash policy port', 10843);
});
io.sockets.on('connection', function (socket) {
socket.on('message', function (data) {
...
});
});
io.configure 方法引发了错误 - 我之前在其他网站上也这样做过,但我不明白它现在不起作用。谢谢。
更新
我刚刚读到here io.configure 不再存在 - 但是,我似乎也无法让它以新的方式工作。这是我的新代码:
var express = require('express');
var app = express();
var server = require('http').createServer(app);
//var io = require('socket.io').listen(server);
var socket = require('socket.io')({
'transports': ['websocket','xhr-polling','flashsocket'],
'flash policy port': 10843
});
var io = socket.listen(server);
io.sockets.on('connection', function (socket) {
socket.on('message', function (data) {
...
});
});
我没有收到任何错误,socket.io 似乎没有启动。
【问题讨论】:
标签: javascript node.js sockets socket.io typeerror