背景
两个独立的网络应用程序(在不同的会话中)如何相互通信? 例如,App1上的用户执行CRUD操作,App2接收此操作并自动刷新相关的UI组件。
使用推送通知/后台服务等移动应用程序可以轻松实现此技术。这可以通过Web应用程序实现吗?我不知道从哪里开始寻找。
答案 0 :(得分:1)
您可以使用网络套接字 https://socket.io
两个应用都应该连接到同一个后端服务器。服务器可以从一个应用程序接收操作,并向另一个应用程序发出事件(发送消息),以告诉它所执行的操作。
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io('http://localhost');
socket.on('actionPerformed', function(data) {
console.log(data);
});
</script>
{{1}}
答案 1 :(得分:0)
看起来您正在尝试将客户端的移动应用和后台服务知识应用于服务器端。我认为它不会在服务器端扩展。
Web应用程序托管在服务器上,此处的客户端是将其显示给用户的浏览器。对于在彼此通信时进行扩展的服务器端Web应用程序,使用消息中心或消息队列(MQ)。您可以查看Apache Kafka https://kafka.apache.org/。有基于云的产品嵌入了技术,如MessageHub(https://console.bluemix.net/docs/services/MessageHub/index.html)。
App1可以是活动的制作者,App2可以是Kafka的消费者。每当App1完成CRUD操作时,它就会生成App2使用的事件。