如何在FeathersJS服务中使用Socket.io?

时间:2018-10-25 16:38:09

标签: angular express websocket socket.io feathersjs

我正在尝试在我的Feathersjs / Angular应用程序中实现Socket.io,并已在前端和后端之间建立了通信。

我了解到app.js中的配置将服务器设置为通过WebSockets进行通信,但是我不了解如何在通过create procedure AAAAA_delete AS DECLARE @VARA NVARCHAR(100); DECLARE @EXEC NVARCHAR(1000); DECLARE CURSER CURSOR LOCAL STATIC READ_ONLY FORWARD_ONLY FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES where table_name like 'AAAAA%' and table_name not like 'AAAAA_LOAD%' and table_name not in ('AAAAA_TIME','AAAAA_CONFIGURATION') order by 1 OPEN CURSER FETCH NEXT FROM CURSER INTO @VARA WHILE @@FETCH_STATUS = 0 BEGIN SET @EXEC = N'delete from ' +@VARA +' a where not exists (select 1 from ' + replace(@VARA,'AAAAA','BBBBB') +' b where a.rowid = b.rowid)' EXEC(@EXEC) FETCH NEXT FROM CURSER INTO @VARA END CLOSE CURSER DEALLOCATE CURSER 生成的服务中使用它。

如何在服务中访问socket.io配置?

这是我当前有效的代码:

在服务器上的app.js中

feathersjs

在app.component.ts的前端

// 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();
  });
}));

1 个答案:

答案 0 :(得分:1)

最常见的方法是也使用Feathers on the client,它允许您透明地访问服务器上的服务。通过网络套接字直接使用服务是documented in the direct connection API for Socket.io

const list = {
  1: "a",
  10: "b",
  20: "c",
  30: "d",
  40: "e"
};

const value = 15;

function getVal(n) {
  let getKeys = Math.max.apply(null, Object.keys(list).filter((item) => {
    return item < n
  }));
  return (list[getKeys])
}
console.log(getVal(value))