Angularjs应用程序的多个实例

Angularjs multiple instances of app

本文关键字:实例 应用程序 Angularjs      更新时间:2023-09-26

我想知道是否有可能在两个独立的浏览器上运行同一个应用程序,并从一个浏览器更新到另一个浏览器?

假设我的应用程序运行在chrome上:http://127.0.0.1:8000/#当任何打开的会话更新了我想在其他会话上获得的更新/警报时,在Firefox或其他隐姓埋名的chrome选项卡中也会打开。任何指示都将不胜感激。

感谢

我为此创建了两个Web服务器:

其中一个运行websocket。其他应用程序。

websocket示例nodejs:

#!/usr/bin/env node
var WebSocketServer = require("ws").Server;
var http = require("http");
var express = require("express");
var port = process.env.PORT || 5000;
var app = express();
    app.use(express.static(__dirname+ "/../"));
    app.get('/test', function(req, res, next) {
       console.log('receiving get request');
    });
    app.post('/test', function(req, res, next) {
       console.log('receiving post request');
    });
    app.listen(80);
    //console.log("app listening on %d ", 80);
var server = http.createServer(app);
    server.listen(port);
console.log("http server listening on %d", port);

var userId;
var wss = new WebSocketServer({server: server});
    wss.on("connection", function (ws) {
    console.info("websocket connection open");
    var timestamp = new Date().getTime();
    userId = timestamp;
    ws.send(JSON.stringify({msgType:"onOpenConnection", msg:{connectionId:timestamp}}));

    ws.on("message", function (data, flags) {
        console.log("websocket received a message");
        var clientMsg = data;
        wss.clients.forEach(function each(client) {
            client.send(clientMsg);
        });        
    });
    ws.on("close", function () {
        console.log("websocket connection close");
    });
});
console.log("websocket server created");

angularjs部件:

.run(function ($rootScope) {
        if ("WebSocket" in window)
            {
               console.log("WebSocket is supported by your Browser!");
               $rootScope.updated = false;
               // Let us open a web socket
               socket = new WebSocket("ws://localhost:5000", "echo-protocol");
               socket.addEventListener("open", function(event) {
                  console.log( "Connected" );
                });
                // Display messages received from the server
                socket.addEventListener("message", function(event) {
                  console.log( "Server Says: " + event.data );
                  if (!$rootScope.updated)
                    if (event.data == "updated list") {
                      //here can passdata or update data
                      alert("Please refresh the page, new data should be available!");
                    }
                });
                // Display any errors that occur
                socket.addEventListener("error", function(event) {
                  console.log( "Error: " + event );
                });
                socket.addEventListener("close", function(event) {
                  console.log("Not Connected");
                });
            }
            else
            {
               // The browser doesn't support WebSocket
               alert("WebSocket NOT supported by your Browser!");
            }
    })

然后运行"node-websocket.js"和应用程序"http server-o"