当前位置: 首页 > news >正文

webScoket

 webScoket是什么?


  • 支持端对端通讯
  • 可以由客户端发起,也可以有服务端发起
  • 用于消息通知、直播间讨论区、聊天室、协同编辑等

做一个简单的webScoket


客户端配置: 

1、新建一个页面叫web-scoket.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>webScoket</title>
</head>
<body><p>webScoket</p><button id="btn-send">发送消息</button><script>const btnSend = document.getElementById('btn-send')</script>
</body>
</html>

服务器端配置: 

1、进入一个目录执行npm init -y

注意:执行以上命令,会生成一个package.json的文件

{"name": "web-scoket-sever","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC"
}

2、安装ws和nodemon插件、以下是安装插件的命令 

sudo cnpm i ws
sudo cnpm i nodemon

3、在文件夹下新建一个src目录,在src目录下新建index.js文件 

const { WebSocketServer } = require('ws')//new 一个webScoket服务,端口号为3000
const wsServer = new WebSocketServer({ port: 3000 })//监听连接connection,
wsServer.on('connection', wx => {console.info('connection');//监听信息,msg客户端传递过来的信息wx.on('message', msg => {console.info('收到信息', msg);//收到信息2秒后,给客户端一个反馈setTimeout(() => {//we.send给客户端发送信息we.send('服务端已收到信息!' + msg.toString())}, 2000)})
})

4、修改package.json文件中的代码

 "dev": "nodemon src/index.js"

5、代码执行npm run dev启动服务

http://www.lryc.cn/news/105116.html

相关文章:

  • 【C语言初阶(20)】调试练习题
  • MicroPython ESP32网页实时更新DHT11数据显示
  • JavaWeb之HTML基础篇(一)
  • TVM_深度学习编译器
  • Flutter InheritedWidget 共享状态管理
  • 什么是反射?Java反射?反射的优缺点
  • 小红书2020校招测试开发后端笔试题卷三
  • python数据可视化Matplotlib
  • firewalld防火墙
  • iMacros WebBrowser Component for .NET
  • 3,堆,桶排序,排序总结【p4-p5】
  • 使用langchain与你自己的数据对话(四):问答(question answering)
  • 如何快速开拓海外华人市场?附解决方案!
  • 【云原生-制品管理】制品管理的优势
  • Java爬虫----HttpClient方式(获取数据篇)
  • 计算机视觉实验:图像增强应用实践
  • ES6:Generator函数详解
  • 前端小练-产品宣传页面
  • arm学习之stm32设备树学习-中断控制led灯亮灭+字符设备指令控制led灯亮灭
  • 快速开发框架若依的基础使用详解
  • RabbitMQ 教程 | 第4章 RabbitMQ 进阶
  • 小程序如何从分类中移除商品
  • P1219 [USACO1.5] 八皇后 Checker Challenge
  • 如何在不使用脚本和插件的情况下手动删除 3Ds Max 中的病毒?
  • SpringCloud Gateway 在微服务架构下的最佳实践
  • Android studio修改app图标
  • <C++> 三、内存管理
  • 大模型开发(十五):从0到1构建一个高度自动化的AI项目开发流程(上)
  • HarmonyOS 开发基础(二)组件拼凑简单登录页面
  • flutter minio