0
我正在试图对其s 0123的简单令牌授权,如docs中所述。但是,节点抛出:无法配置Socketio:TypeError:对象#<Server>没有方法'configure'
TypeError: Object #<Server> has no method 'configure'
当我尝试用io.configure
配置socketio。任何想法为什么配置方法不可用?
var express = require('express')
, app = express()
, server = require('http').Server(app)
, io = require('socket.io')(server)
io.configure(function(){
io.set('authorization', function (handshakeData, callback) {
...
})
完整堆栈跟踪:
/Users/administrator/dev/chat-example/lib/io.js:9
io.configure(function(){
^
TypeError: Object #<Server> has no method 'configure'
at module.exports (/Users/administrator/dev/chat-example/lib/io.js:9:6)
at Object.<anonymous> (/Users/administrator/dev/chat-example/app.js:4:29)
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:906:3
该文档显然不是与'io.configure()'相关的最新版本。 Socket.IO 0.9及更早版本的方法[已定义](https://github.com/Automattic/socket.io/blob/0.9.17/lib/manager.js#L266-L274),但[[似乎有]已被删除](https://github.com/Automattic/socket.io/blob/1.0.0/lib/index.js)在重写为1.0和更高版本。 – 2014-12-05 20:37:28
@JonathanLonowski这是一个耻辱,任何想法如何配置socketio呢? – agconti 2014-12-05 20:38:40
['io.use()'](http://socket.io/docs/server-api/#namespace#use(fn:function):namespace)将允许您添加自定义中间件,如检查授权。而且,'io.set()'[still exists](https://github.com/Automattic/socket.io/blob/1.2.1/lib/index.js#L109-L135),显然只是为了兼容。它的定义显示了一个使用'io.use()'的例子。 – 2014-12-05 20:47:36