我正在为我的应用程序使用一个无服务器框架Blitz.js。但是,现在我想实现一个通知系统,这样用户就可以得到任何更新的通知。由于Blitz.js是无服务器的,我不知道如何继续。
对于开放的问题,我很抱歉,但是,我想知道是否有一种方法/指南来实现网络套接字或某种轮询通知用户?
其次,如何将后端服务器与Blitz这样的无服务器框架集成起来。
更新:(分享我的想法)
在我看来,这个系统的工作方式如下所示。前端和无服务器之间的无服务器通信将继续下去,现在后端服务器(如果确实需要通知/轮询)将与无服务器通信,并将其转发到前端。

发布于 2020-10-31 14:14:24
WebSockets是浏览器驻留代码建立到服务器的持久连接的一种方式.因此,您正在做一些稍微奇怪的事情,当然是在尝试将它与无服务器框架一起使用。
但是,WebSocket连接是http (或https)连接。因此,如果您的无服务器实例持续到所有连接关闭,您可以想象您的用户浏览器和您的无服务器实例之间有一个连接。如果可以在闪电式服务器端代码中使用server对象,则可以使用npm设置WebSocket侦听器。
const requestIp = require( 'request-ip' )
const ws = require('ws' )
...
const wss = new ws.Server({ server });
wss.on('connection', function connection(ws, request) {
const url = new URL( request.url, 'wss://example.com', true )
const path = url.pathname
const clientIp = requestIp.getClientIp( request )
console.log ('connected to: %s from %s', path, clientIp)
ws.on('message', function incoming(message) {
console.log('received: %s from %s', message, clientIp);
})
ws.on('close', function close (code, reason) {
console.log ('closed: %s from %s', reason , clientIp)
})
ws.send('something');
});发布于 2022-10-25 13:14:36
我刚刚来到这个仓库,它成功地将socketio集成到闪电战中。
因此,应该可以使用自定义启动操作。
https://github.com/parkerbedlan/blitz-chat https://github.com/parkerbedlan/blitz-chat/commit/3aafdb2c115084a44835c79b16c05e59e2d52477
https://stackoverflow.com/questions/64621299
复制相似问题