我需要为我的next.js应用程序创建一个连接的设备限制器。当用户访问网站并登录时,会执行一个功能,将其添加到连接用户列表中。每个用户只能连接一个设备。如果用户试图访问在另一台设备上登录到同一帐户的应用程序,则会显示一个等待屏幕。到目前为止,一切都很美好。问题是:当对方断开连接时。无论是什么原因,如果连接丢失,必须在服务器端执行一个功能,将其从连接用户列表中删除。
export const getServerSideProps = async (ctx) => {
// get cookies
// database
if(connected.includes(user)) {
// Displays the waiting screen
// When he leaves the list, he asks if he wants to connect the device.
}
if(!connected.includes(user)){
// Add user to the connected list
}
user.onDisconnect = disconnect()
// For example, it doesn't have to be inside getServerSideProps.
}
function disconnect () {
// Remove user from the connected list
}
有没有任何方法可以在没有socket.io的情况下执行?
我正在研究Pusher,我认为这可能是解决我的问题的好方法。有什么建议吗?