• 基于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);   // 这个就是客户端发来的消息
        });
    });

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

  • 相关阅读:
    看见一个希腊字母表
    剑桥的技术报告列表
    CompaqDEC的技术报告
    linux动态链接库的使用
    Vectored I/O or ScatterGather I/O
    week reference
    Cache pingpong
    [zz] References on Mutual Excuslion
    redis: event loop
    看WinForm源代码的笔记
  • 原文地址:https://www.cnblogs.com/0314dxj/p/11251488.html
Copyright © 2020-2023  润新知