我正在使用socket.io 并用feathersjs 表达两者。对于指标收集,我试图捕获通过 Express 和 socket.io 发出的请求的往返。
express 方面很容易使用 express 中间件。
我可以通过以下方式捕获 socket.io入站请求socket.use
:
const app = express(feathers());
... (set up feathers services etc.)
app.configure(socketio(function(io) {
io.use(function(socket, next) {
socket.use((packet, next) => {
... (extract the verb and pathing info from the packet)
next();
});
next();
});
});
socket.use
但是,我在出站/确认端找不到任何等价物。engine.io 内部有一些事件,但我无法访问它们。
我真的试图找到为每个请求/响应发出的一组等效事件(后者相当于finish
in express)。
我不能在这里使用连接/断开事件;无论羽毛服务和模块如何,我都想捕获通过套接字发出的每个请求以及为它们发送的响应。
Feathers.js 钩子可以用于此,但它需要将一堆上下文从 socket.io 中间件传递到羽毛中,我希望不要这样做。
有人知道这样做的方法吗?