我正在使用express.js和socket.io。我在app.js
设置了它们。 var indexRouter = require('./routes/index');
var userRouter = require('./routes/user');
app.use('/', indexRouter);
app.use('/user', userRouter);
中的路由设置如下:
socket.io
在app.js
中和let io = socketio(server);
io.on('connection', function (socket) {
let clients = Object.keys(io.engine.clients);
})
clients
如何将userRouter
变量传递给<?php
$management = '%%CATEGORY-POINTS-1%%';
switch ($management) {
case '1':
echo 'A';
break;
case '2':
echo 'B';
break;
case '3':
echo 'C';
break;
default:
echo 'D';
break;
}
?>
?
答案 0 :(得分:0)
使用注册表对象和工厂:
const manager = {clients: []};
userRouterFactory(socketManager) {
return function(req, res, next) {
// indexRouter code
res.json(socketManager.clients); // Example of client variable usage
};
}
socketFactory(socketManager) {
return function(socket) {
socketManager.clients = Object.keys(io.engine.clients);
};
}
app.use(userRouterFactory(manager));
io.on('connection', socketFactory(manager));