Sailsjs:在Sails 0.11中,如何不使用带有套接字的onConnect生命周期回调

时间:2015-03-16 17:53:26

标签: sockets sails.js

在Sails 0.11中,套接字已弃用onConnect生命周期回调。升级指南说如果在新套接字连接时需要进行任何初始设置,“在套接字连接后从客户端发送初始请求”。

从连接的客户端发送请求非常简单。但是,如果您没有使用onConnect生命周期回调来获取服务器上的套接字,那么如何为该事件设置监听器?是否有另一种方法可以获取套接字并在onConnect函数之外设置该套接字的侦听器?

1 个答案:

答案 0 :(得分:2)

这个想法是使用前端的Sails套接字客户端来调用Sails后端中的常规端点。 Sails的一部分神奇之处在于它将套接字请求作为常规HTTP请求进行路由的方式。所以在前端你可以这样做:

<script src="/js/dependencies/sails.io.js"></script>
<script>
  // This will be queued until socket actually connects
  io.socket.get("/helloworld", function(response) {
    console.log("Got response: ", response);
  });
</script>

要调用您在/helloworld文件中设置的config/routes.js路线,并在其中执行任何“onConnect”式设置。您可以在控制器操作中使用req.isSocket来确保请求来自套接字。