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