Я пытаюсь внедрить Socket.io в мое приложение Feathersjs / Angular и установил связь между интерфейсом и бэкэндом.
Я понимаю, что конфигурация в app.js настраивает сервер для связичерез WebSockets, но я не понимаю, как использовать его в Сервисе, который генерируется с помощью feathersjs
.
Как я могу получить доступ к конфигурации socket.io внутри Сервиса?
Вотмой текущий код, который работает:
на сервере в app.js
// Set up Plugins and providers
app.configure(express.rest());
app.configure(socketio(function(io) {
io.on('connection', function(socket) {
socket.emit('backend-notification', { text: 'A client connected!' });
socket.on('frontend-notification', function (data) {
console.log(data);
});
});
// Registering Socket.io middleware
io.use(function (socket, next) {
// Exposing a request property to services and hooks
socket.feathers.referrer = socket.request.referrer;
next();
});
}));
на внешнем интерфейсе в app.component.ts
ngOnInit(): void {
const socket = socketIo('http://localhost:3000');
socket.on('backend-notification', (data) => {
console.log(data);
socket.emit('frontend-notification', { text: 'My frontend-notification!' });
});
}