Sailsjs:在 Sails 0.11 中,如何不对套接字使用 onConnect 生命周期回调
Sailsjs: In Sails 0.11, how to NOT use onConnect lifecycle callback with sockets
在 Sails 0.11 中,已弃用套接字的 onConnect
生命周期回调。升级指南说,如果您需要在新套接字连接时进行任何初始设置,"send an initial request from the client after the socket connects"。
从连接的客户端发送请求非常简单。但是,如果您不使用 onConnect
生命周期回调来获取服务器上的套接字,您如何为该事件设置监听器呢?在 onConnect
函数之外,还有另一种方法可以获取套接字并为该套接字设置侦听器吗?
想法是在前端使用 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>
调用您在 config/routes.js
文件中设置的 /helloworld
路由,并在其中进行任何 "onConnect" 风格的设置。您可以在控制器操作中使用 req.isSocket
来确保请求来自套接字。
在 Sails 0.11 中,已弃用套接字的 onConnect
生命周期回调。升级指南说,如果您需要在新套接字连接时进行任何初始设置,"send an initial request from the client after the socket connects"。
从连接的客户端发送请求非常简单。但是,如果您不使用 onConnect
生命周期回调来获取服务器上的套接字,您如何为该事件设置监听器呢?在 onConnect
函数之外,还有另一种方法可以获取套接字并为该套接字设置侦听器吗?
想法是在前端使用 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>
调用您在 config/routes.js
文件中设置的 /helloworld
路由,并在其中进行任何 "onConnect" 风格的设置。您可以在控制器操作中使用 req.isSocket
来确保请求来自套接字。