基于node使用websocket,进行数据推送。

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。

WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。

如果对websocket完全没有了解的可以看下菜鸟教程: https://www.runoob.com/html/html5-websocket.html

建立一个小demo来演示一下吧,

1.新建一个html文件:

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>websoket</title>
    <style>
        
    </style>
</head>

<body>
    
    <script>
        let ws = new WebSocket('ws://localhost:8888');
        // onopen是客户端与服务端建立连接后触发
        ws.onopen = function () {
            ws.send('你好啊');
        };
        // onmessage是当服务端给客户端发来消息的时候触发,接收数据
        ws.onmessage = function (res) {
            console.log(res);   
            // 打印的是MessageEvent对象
            // 真正的消息数据是 res.data
        };

    </script>
</body>

</html>    

2.使用node.js的express来简单搭个后台服务,新建一个js文件,如sever.js

  1). 安装ws  $ npm i ws -S

  2). 安装express  $npm  i express -S

const express = require('express');
const app = express();
// 设置静态文件夹
app.use(express.static(__dirname));

app.listen(3000); // 可以再浏览器上打开localhost:3000
//=============================================
// 开始创建一个websocket服务
const Server = require('ws').Server;

const ws = new Server({ port: 8888 });

// 监听服务端和客户端的连接情况
ws.on('connection', function(socket) {
    // 监听客户端发来的消息
    socket.on('message', function(msg) {
        console.log(msg);   // 这个就是客户端发来的消息
    });
});

打开浏览器就可以接受到数据了,后台再将你要的数据返回给你。

 

转载于:https://www.cnblogs.com/0314dxj/p/11251488.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
websocket定时信息推送可以通过以下步骤实现: 首先,需要在后端搭建一个websocket服务,可以使用常见的编程语言如Java、Node.js、Python等来实现。在服务端,我们可以使用一些库或框架来简化开发过程,如Java中的Spring WebSocketNode.js中的Socket.io等。 接下来,在前端页面中引入websocket的客户端库,如使用JavaScript中的WebSocket API。通过该库,我们可以与后端的websocket服务器建立连接,并实现与服务器的实时双向通信。 为了实现定时信息推送,我们可以在后端设置一个定时任务,定时获取要推送的信息,并将其发送到客户端。具体实现方式可以根据实际需求来定,如可以在服务器启动时初始化一个定时器,或使用专门的定时任务库来处理。 在发送信息时,可以根据业务需求,选择将信息推送到单个客户端、指定的客户端组或者所有客户端。可以在后端维护一个客户端连接的集合,以便定向推送。 对于客户端,可以通过监听websocket的事件,如onmessage事件来接收服务器推送的信息。在接收到信息后,可以做相应的处理,如更新页面内容、弹出消息提示等。 需要注意的是,由于websocket是基于TCP协议的,所以在使用时需要考虑网络稳定性和负载均衡的问题,以提供更好的用户体验。 总结起来,websocket定时信息推送是一种实现实时双向通信的方式,通过后端websocket服务和前端websocket客户端,可以实现定时获取信息并推送到客户端,从而实现信息的实时更新和推送功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值