websocket 传输实时数据到前端,并用 Echart 动态展示数据

本文介绍了如何使用C#和Fleck库建立WebSocket服务器,以及前端利用ECharts展示实时数据的过程。在后端,通过创建WebSocket服务类并监听客户端连接,当接收到请求时生成并发送实时数据。在前端,使用echart.js和vanilla JavaScript实现图表配置和与后端的通信,更新ECharts图表以显示接收到的数据。注意,由于浏览器性能限制,过于频繁的数据更新可能导致ECharts显示延迟。
摘要由CSDN通过智能技术生成

 

后端代码我用的是C# 和 Fleck nuget,还是比较容易建立websocket 服务的。

首先我们建立一个websocket server class,设置两个属性,一个是服务器的websocket对象,另一个是客户端连到此服务上的socket链接数组。

public class Server
    {
        private WebSocketServer SocketServer { get; set; }
        private List<IWebSocketConnection> ClientSocket { get; set; } = new List<IWebSocketConnection>();
        
        }

接下来我们要写服务端的初始化代码,主要是是初始化websocketServer 对象,让它开始监听,已经当socket开始,关闭时的业务逻辑,我们此时只要在开始,和关闭时打印在console里即可。

public void Start(int port)
        {
            SocketServer = new WebSocketServer("ws://127.0.0.1:" + port);

            SocketServer.Start(socket =>
            {
                socket.OnOpen = () =>
                {
                    Console.WriteLine("Open!");
                    ClientSocket.Add(socket);
                };
                socket.OnClose = () =>
                {
                    ClientSocket.Remove(socket);
                    Console.WriteLine("Close!");
                };
                
            });

这一步是重头戏,添加收到客户端发来的消息,并处理消息的逻辑代码。我是想当客户端索要数据时,我会不停的给它发送实时数据,直到客户端喊停为止。所以还是先写创建实时数据的代码吧,因为想在echart里展示,我就做两个list,分别代表x轴和y轴,并把它序列化成string。

         数据结构很简单:

        

public class Data
    {
        public List<int> x { get; set; }
        public List<int> y { get; set; }
    }

        做序列化的代码:

p
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

go_with_dream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值