IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 全双工通讯WebSocket -> 正文阅读

[网络协议]全双工通讯WebSocket

TCP 全双工通讯协议
即时通信
场景: 聊天、消息系统、游戏
web: 消息通知、大屏项目的数据更新、商家推荐
实现:
1.握手 客户端连接服务端(认识一下)
let client = new WebSocket(“ws://localhost:3000”);

2.建立连接之后 互发消息
发送
client.send(“hello”)//向服务端发送信息
client.send(JSON.stringify({
to:“123”,
msg:“hello”
}))

接收
client.addEventListener(“message”,({data})=>{
console.log(data);
})

3.连接关闭
client.addEventListener(“open”,()=>{
console.log(“连接成功”)
})
client.addEventListener(“close”,()=>{
console.log(“断开连接”)
})
客户端主动断开连接
client.close();
server.js
var webSocket = require(“ws”);

// 创建socket服务
var wss = new webSocket.Server({ port: 5000 });

// var clients=[];
// 监听客户端连接事件
wss.on(“connection”, function (client) {
// 向客户端发送信息
client.send(“服务端已连接”);

// 接收客户端消息
client.on(“message”, function (msg) {
// console.log(e.data);
client.send(“接收到你发的消息:” + msg);
});

setInterval(function () {
client.send(Date.now());
}, 1000);

// 监听客户端关闭连接操作
client.on(“close”, function () {
console.log(“客户端关闭连接”);
});
});

server02.js
var webSocket = require(“ws”);

// 创建socket服务
var wss = new webSocket.Server({ port: 5001 });

// var clients=[];
// 监听客户端连接事件
wss.on(“connection”, function (client) {
client.on(“message”, function (data) {
// 群发 广播
// wss.clients所有的客户端对象
wss.clients.forEach(function (item) {
item.send(data);
});
});
});

/*
{
type:“login”
}

{
    type:"room",
    roomId:"1",
    msg:"hello"
}
{
    type:"person",
    to:"张三",
    msg:"hello"
}

*/

基本使用.html

Document

广播.html

Document 连接 断开
发送

    发布广播.html

    Document 发布

    普通用户.html

    Document
      网络协议 最新文章
    使用Easyswoole 搭建简单的Websoket服务
    常见的数据通信方式有哪些?
    Openssl 1024bit RSA算法---公私钥获取和处
    HTTPS协议的密钥交换流程
    《小白WEB安全入门》03. 漏洞篇
    HttpRunner4.x 安装与使用
    2021-07-04
    手写RPC学习笔记
    K8S高可用版本部署
    mySQL计算IP地址范围
    上一篇文章      下一篇文章      查看所有文章
    加:2022-10-31 12:34:57  更:2022-10-31 12:36:27 
     
    开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
    教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
    数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

    360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 9:09:40-

    图片自动播放器
    ↓图片自动播放器↓
    TxT小说阅读器
    ↓语音阅读,小说下载,古典文学↓
    一键清除垃圾
    ↓轻轻一点,清除系统垃圾↓
    图片批量下载器
    ↓批量下载图片,美女图库↓
      网站联系: qq:121756557 email:121756557@qq.com  IT数码