h5之webSocket

文章目录

    • 使用ws模块创建一个websocket
    • 客户端创建链接

  1. 什么是WebSocket?
    WebSocket网络套接字,是一种全双工的通讯协议,属于TCP连接。主要用于客户端和服务器之间的通讯。通过WebSocket,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

  2. 什么是全双工和半双工?
    全双工允许数据在两个方向上同时传输,比如:手机
    半双工允许数据在两个方向上传输,但是同一时间数据只能在一个方向上传输,实际上是切换的单工。比如:对讲机

  3. 七层网络协议?了解一些常用的通讯协议?
    七层网络协议:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
    常用的协议:HTTP,HTTPS,TCP,FTP等

使用ws模块创建一个websocket

// 引入安装的ws模块,主要提供创建websocket服务器的功能,内部有大量的api,可以创建服务器,可以给客户端发送信息等等。
const WebSocket = require('ws');

// 创建一个服务器
const WebSocketServer = WebSocket.Server;

// 实例化
const wss = new WebSocketServer({
    port: 3000
});

// 监听客户端连接
wss.on("connection", (ws) => {
    // console.log("连接成功");
    ws.send("hello", (err) => {
        if (err) {
            console.log('发送信息失败, 失败的原因:' + err)
        }
    })

    // 服务器可以获取客户端发送过来的信息
    // 通过监听message事件来接收客户端的数据。
    ws.on('message', (data)=>{
        console.log(data)
        // 可以进行其他业务逻辑处理。

    })
})

console.log("服务器已启动,等待客户端连接");

客户端创建链接

 // 1。创建一个websocket实例,目的:通过它去连接服务器,还可以通过它向服务器发送信息
        let ws = new WebSocket("ws://localhost:3000");

        // 2。打开连接
        ws.onopen = function(){
            // 3。发送信息
            ws.send('HELLO');
        }

        // 4。客户端通过监听onmessage事件,来获取服务器响应的数据
        ws.onmessage = function(msg){
            console.log(msg.data)
        }

        
参考文档:
https://www.runoob.com/html/html5-websocket.html

http://www.ruanyifeng.com/blog/2017/05/websocket.html

https://www.liaoxuefeng.com/wiki/1022910821149312/1103332447876608
        

你可能感兴趣的:(html,websocket,网络协议)