Golang socket.io中间件
是否有Golang socket.io中间件,go,socket.io,Go,Socket.io,是否有socket.io事件处理程序的中间件实现 比如说, io.OnEvent(“/”,“myEvent”,myMiddleware(func(con socketio.con){ /*我的代码*/ })) 这实际上取决于您想用这种中间件做什么 您始终可以编写一个介于另一个函数和实际处理程序之间的函数,该函数可以按照您建议的方式使用: func myMiddleware(next func(socketio.Conn) error) func(socketio.Conn) error {
socket.io
事件处理程序的中间件实现
比如说,
io.OnEvent(“/”,“myEvent”,myMiddleware(func(con socketio.con){
/*我的代码*/
}))
这实际上取决于您想用这种中间件做什么
您始终可以编写一个介于另一个函数和实际处理程序之间的函数,该函数可以按照您建议的方式使用:
func myMiddleware(next func(socketio.Conn) error) func(socketio.Conn) error {
return func(conn socketio.Conn) error {
// Do some kind of logic in the middleware...
fmt.Println("Middleware!")
// Now we call the actual function
return next(conn)
}
}
然后可以按照您的意愿使用,例如:
io.OnEvent("/", "myEvent", myMiddleware(func(con socketio.Conn) error {
fmt.Println("Handler func!")
return nil
}))
当收到myEvent
时,这将首先运行中间件(打印“middleware!”),然后运行包装函数(因为在中间件中调用了next
)。您可以使用此模块
事件处理程序:
io.OnEvent(“/”,“某些事件”,requireAuth(func(s socketio.Conn){
//一些事件处理程序代码
}))
中间件:
var requireAuth=middleware.Create(func(s socketio.Conn,next func()){
如获授权{
下一个()
}否则{
s、 发出(“错误”,AuthError)
}
})