5分钟使用( WebSocket)创建一个简单聊天

news/2024/11/7 22:33:57/

项目目录
客户端可以自己抽取
在这里插入图片描述

第一步 创建服务端目录 node-ws

打开 cmd终端 执行

npm init -y

第二步 安装服务端 ws包

cmd终端 执行

npm i ws

第三步 创建服务端文件 index.js

内容如下:

const WebSocket = require('ws');const wss = new WebSocket.Server({ port: 9000 });wss.on('connection', function connection (ws) {console.log('连接成功');ws.on('message', function incoming (message) {console.log(`收到客户端消息: ${message}`);ws.send(`回复: ${message}`);});
});console.log('WebSocket server started on port 9000');

第四步 创建客户端文件 index.html

内容如下

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>var ws = new WebSocket("ws://localhost:9000");console.log(ws, 'ws')ws.onopen = function () {console.log("建立连接");if (ws.readyState === 1) {console.log("客户端发送消息");ws.send("你好");}}ws.onmessage = function (event) {console.log("收到服务端消息: " + event.data);}</script>
</body></html>

最后 启动服务端

node index.js

在这里插入图片描述
打开客户端 效果如下
在这里插入图片描述


http://www.ppmy.cn/news/83293.html

相关文章

HardenedVault 推出 Linux 安全加固版

导读HardenedVault 于 AWS 云平台上推出 Linux 安全加固版&#xff0c;该产品可以通过实施CIS和STIG基准来帮助您实现合规要求&#xff08;PCI-DSS和GDPR&#xff09;。 Shawn the R0ck 写道&#xff1a;HardenedVault自从 2022 年 7 月在 Amazon Web Services (AWS)推出了 Har…

T3 NextJs tRPC Prisma NextAuth Tailwind 全栈式开发 Todo-Daily(36 个视频)

T3 NextJs tRPC Prisma NextAuth Tailwind 全栈式开发 Todo-Daily&#xff08;36 个视频&#xff09; 在这个视频中,我们将使用T3 Next.js,一个React框架,来构建一个全栈的商业级带支付系统的Todo应用程序。Next.js允许我们编写服务器端渲染和静态页面的React应用程序 T3 Nex…

在变压器厂中使用 ISA-95 应用程序进行调度集成

介绍 在工业批量和连续生产/运营环境中&#xff0c;调度涉及将诸如罐、反应器和其他加工设备之类的资源分配给生产/运营任务。第 4 层生产/运营计划确定要制造什么产品、要制造多少产品以及何时制造。根据设备、物料、人员和班次的可用性&#xff0c;随着时间的推移分配资源。…

Day51【动态规划】309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费

309.最佳买卖股票时机含冷冻期 力扣题目链接/文章讲解 视频讲解 记住昨天的回顾总结提到的&#xff1a;应该灵活利用 dp 数组的下标描述所有状态 动态规划五部曲 1、确定 dp 数组下标及值含义 dp[i][j]&#xff0c;第 i 天状态为 j&#xff0c;所剩的最多现金为 dp[i…

Mybatis连接MySQL数据库通过逆向工程简化开发流程

文章目录 一、使用步骤1、建立新项目2、引入pom依赖3、创建逆向工程的配置文件 generatorConfig.xml4、运行逆行工程&#xff0c;生成代码文件 二、案例展示1、建立数据表2、改写对应的配置文件内容1、数据库连接配置,指定自己的数据库2、配置pojo生成的位置3、配置sql映射文件…

使用 Docker 安装常用的服务

Docker 常见服务的安装 Docker 安装 MySQL【详细介绍&#xff0c;后续只会简单安装】 1.查看可用的 MySQL 版本 docker search mysql拉取 MySQL 镜像 docker pull mysql:latest查看本地镜像 docker images运行容器 注意使用 -p 来指定外面和容器里面的端口&#xff1b; -…

【多线程】线程的可见性

目录 一、什么是线程的可见性二、可见性问题示例2.1 代码2.2 截图 三、解决可见性问题3.1 volatile关键字3.2 synchronized关键字 四、用volatile关键字解决可见性问题示例4.1 代码4.2 截图 五、用synchronized关键字解决可见性问题示例5.1 代码5.2 截图 六、可见性与原子性 一…

放大镜-第14届蓝桥杯省赛Scratch中级组真题第3题

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第138讲。 放大镜&#xff0c;本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程中级组编程第3题&#xff0…