繁体   English   中英

使用HTML5本地存储交换信息

[英]Use HTML5 localstorage to exchange information

我有一个用c ++编写的程序,可以从此读取值。 无论如何,这部分并不重要。 我所拥有的是不断变化的数据,我想用图形表示这些数据。 我希望使用Web浏览器来显示数据,因为那里有很多用JavaScript编写的开源图形和图表。 所以我的问题是从我的C ++程序向浏览器发送数据

我已经进行了调查,并且UDP在浏览器中尚不可用,因此我将不得不使用TCP。 TCP websocket的速度不是那么快,我当时正在考虑使用html5 localstorage。 我的意思是说,我的c ++程序已将数据写入localStorage上的数据库中,然后javascript将等待该变量的值存在并发明某种协议来使其正常工作。 本地存储确实非常快,例如:

<script type="text/javascript">

    var counter = 0;

    window.onload = function () {

        function Test() {

            counter++;

            localStorage.p = counter + ""; // perform write 

            var read = localStorage.p; // perform read

            if (read == "5000")
                alert((new Date() - now)); // shows 45
            else
                Test(); // loop again
        }

        var now = new Date(); 
        Test();
    }

</script>

该脚本需要54毫秒,它可以读写5000次! 这意味着下次不用为浏览器创建插件,而只是实现某种协议,使我能够使用localStorage交换信息。 例如,我可以让浏览器等待变量x存在。 一旦存在,我就通过浏览器创建一个变量y,通知C ++程序它已准备好接收数据,依此类推。 localStorage只是位于C:\\ Users [USER] \\ AppData \\ Local \\ Google \\ Chrome \\ User Data \\ Default \\ Local Storage上的sqlite数据库

我还没有在网上看到有人使用这种方法。 也许太危险了,Sqlite无法处理好多个线程,我将浪费时间创建该程序。

那么我应该开始实施该协议吗? 我应该使用websockets吗? 还是我应该尝试一下https://stackoverflow.com/a/10219977/637142

我会使用node.js作为从C ++到浏览器的中间件,而不是直接使用websocket(在那之前这样做了)与http://socket.io/一起使用,它将使您的生活更加轻松:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM