我的用户访问一个桌面网页,让他/她扫描QR码(我知道是老学校),以便在他们的手机上打开另一个网页。这样做的目的是稍后通过移动设备控制桌面页面。
为了实现这一点,我目前使用socket.io。基本上,这是我的操作方式:
当我的用户在Desktop.js
(包含QR码的那个)上输入/desktop
React组件时:
import io from "socket.io-client";
constructor(props) {
// Socket linked to my node server
this.socket = io("http://localhost:2018");
}
componentDidMount() {
// Inform our server we are connected on the browser
this.socket.emit("connect-browser");
}
然后,我的Node
服务器会像这样捕获它:
// Catch that emition
socket.on('connect-browser', () => {
console.log('Connected to BROWSER');
});
然后,用户扫描QR码,并发出connect-mobile
事件,该事件由服务器捕获,如下所示:
// Triggered when the user scans the QR code
socket.on('connect-mobile', () => {
console.log('Connected to MOBILE');
});
Desktop
组件还抓住了哪个组件,以便像这样更改其视图:
this.socket.on("connect-mobile", () => {
window.location.replace("mynewpage.com");
});
您会发现它来回无用。
这就是为什么我想找到一个客户端到客户端的替代方案,在那里我可以通过完全删除服务器来分散我的流程的分散性。
是否存在一种将客户端与客户端进行通信的方法(类似于Socket.io解决方案),以便将来触发重定向并发送基本消息?
如果解释不明确,请原谅我,实现本身很棘手,而且考虑周全。