websockets javascript 地图框

websockets javascript mapbox

Relativity 刚开始接触代码,发现我从解决问题中学到的东西最多,但需要一些指导。

我的项目有两部分。深入社区的响应式地图(由团队构建)和第二张全屏显示地图的地图,当用户点击进入每个社区时,标记会出现和消失以显示 activity。我在自己的服务器上有第二张地图。生产地图需要传递 Lat,Long 对象 [我已经弄清楚如何收集这些坐标]。

1) 我相信我需要一个 websocket 来连接两者。任何人都可以通过具体示例来说明如何连接传递对象的两个吗?

2) 在服务器上拥有 Lat,Long 对象后,如何将它从我的 websocket 应用程序传递到我的 javascript 文件中?还是让我的 javascript 文件监听消息的新实例?

谢谢!

一旦激活 Websockets 本质上是双向的......也就是说流量可以从任何一方发起 ... 一旦打开一个 websocket 连接是持久的,所以即使在不处理流量时也保持打开状态

这是定义 WebSocket 服务器端的完整 nodejs 代码

var websocker_server = function() {

    "use strict";

    var port = 8888;

    console.log('listening on    localhost:' + port + '\n');

    var WebSocketServer = require('ws').Server;

    var wss = new WebSocketServer({ port: port });

    wss.on('connection', function connection(ws) {

        ws.send('this message was sent from server side to client');


        ws.on('message', function incoming(message) {
        console.log('received: %s', message);
        });

        // ---

        ws.on("error", function(event) {

            var error_msg = "ERROR on on on error : " + event;
            console.error(error_msg);
        });

        // ---

        ws.on("close", function() {

            console.log("websocket connection close");
        });

    });

}(); //  websocker_server = function()

所以现在我用内联 javascript 显示整个 html,它定义了一个简单的浏览器端 WebSocket 客户端

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>bare bones websocket with nodejs serverside</title>

<script type="text/javascript">

    var websocket_connection = (function() {

        var web_socket = new WebSocket('ws://127.0.0.1:8888');

        web_socket.onopen = function (event) {

          web_socket.send("Here's some text client has sent to server upon socket open event!"); 
        };

        web_socket.onmessage = function (event) {
          console.log(event.data);
        }

    }());   //   websocket_connection

</script>

</head>
<body>
</body>
</html>

大局是首先启动侦听端口 8888 的 nodejs 服务器端...然后 运行 来自 httpd 服务器的 html 这样您就可以将浏览器指向它的代码.. . 浏览器客户端启动 WebSocket 连接,该连接一旦打开便允许向任一方向发送消息 ...您的消息开始变得复杂

I posted all this code and supporting instructions as a repo HERE