白桦的天空

第一次的心动,永远的心痛!
随笔 - 349, 文章 - 15, 评论 - 203, 阅读 - 25万
  首页  :: 新随笔  :: 联系 :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

通过websocket接口获取数据实时更新数据表

Posted on   白桦的天空  阅读(176)  评论(0编辑  收藏  举报
websocket客户端
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<html>
 
<head>
    <title>websocket客户端</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
 
<body>
    <div>
        <canvas id="myChart"></canvas>
    </div>
    <script>
    $(document).ready(function() {
 
        var arrayObj = new Array();
        arrayObj.push(12);
        arrayObj.push(19);
        arrayObj.push(3);
        arrayObj.push(5);
        arrayObj.push(2);
        arrayObj.push(3);
 
        var ctx = document.getElementById('myChart');
        var chart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
                datasets: [{
                    label: '# of Votes',
                    data: arrayObj,
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    y: {
                        beginAtZero: true
                    }
                }
            }
        });
 
 
 
 
 
        // 创建websocket客户端
        var socket = new WebSocket("ws://127.0.0.1:8765");
        // 打开websocket
        socket.onopen = function(e) {
            socket.send("CMD");
        };
        // 接收服务器数据
        socket.onmessage = function(event) {
            console.log(event.data);
            arrayObj[0] = arrayObj[1];
            arrayObj[1] = arrayObj[2];
            arrayObj[2] = arrayObj[3];
            arrayObj[3] = arrayObj[4];
            arrayObj[4] = arrayObj[5];
            arrayObj[5] = event.data;
            chart.data.datasets[0].data = arrayObj;
            chart.update();
        };
        // 关闭websocket
        socket.onclose = function(event) {
            console.log('socket关闭');
        };
        // 错误处理
        socket.onerror = function(error) {
            console.log(error.message);
        };
        setInterval(function(){
            socket.send("CMD");
        },1000);
    });
    </script>
</body>
 
</html>

  

 
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示