Это заняло некоторое копание, но я смог довольно неплохо это заработать с некоторыми пользовательскими express промежуточными программами .
// app.js
app.configure(
socketio(io => {
io.use((socket, next) => {
socket.feathers.connectionID = socket.client.id;
next();
});
})
);
// myService.service.js (or wherever you set up your channels)
service.publish((data, context) => {
return app.channel(...).filter((connection) => {
const senderConnectionID = context.params.connection.connectionID;
const thisConnectionID = connection.connectionID;
return senderConnectionID !== thisConnectionID;
});
});
Это не требует какой-либо настройки на стороне клиента, но в моем случае я использую это для идентификации сеансов, поэтому я действительно удостоверился, что создавал только один сокет на загрузку страницы и делиться им между всеми экземплярами моего клиента.