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

镇海淘宝网站建设水资源监控能力建设 网站

镇海淘宝网站建设,水资源监控能力建设 网站,做网站需要看的书,个人网站设计介绍文字Socket.IO 是一个基于 Node.js 的实时应用库,它封装了 WebSocket 协议,同时提供了降级方案,在不支持 WebSocket 的环境下能自动切换到其他传输方式,如 HTTP 长轮询。 核心概念 WebSocket :HTML5 提供的一种在单个 TCP…

 Socket.IO 是一个基于 Node.js 的实时应用库,它封装了 WebSocket 协议,同时提供了降级方案,在不支持 WebSocket 的环境下能自动切换到其他传输方式,如 HTTP 长轮询。

核心概念


WebSocket :HTML5 提供的一种在单个 TCP 连接上进行全双工通信的机制,实现客户端与服务器的实时通信。
实时通信 :服务器和客户端能够在任意时刻相互发送数据。
降级机制 :当 WebSocket 不可用时,Socket.IO 会自动降级到 HTTP 长轮询等其他通信方式。


安装


服务器端(Node.js)

npm install socket.io


客户端

<script src="/socket.io/socket.io.js"></script>



当你使用 socket.io 模块创建一个实例(比如 const io = require(‘socket.io’)(server))时,Socket.IO 默认会在你的 HTTP 服务上挂载一个中间件,用来处理对 /socket.io/ 路径下的请求。

当浏览器访问 /socket.io/socket.io.js 时,实际上是连接到了你 Node.js 后端运行的 socket.io 库内部的一个内置 HTTP 接口,这个接口会动态返回客户端所需的 JavaScript 文件(即 socket.io.js 或压缩后的 socket.io.min.js)


基本使用

服务器端示例(与 Express 集成)

const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);// 中间件
app.use(express.json());
app.use(express.static('public'));// API 路由
app.get('/api/users', (req, res) => {res.json([{ id: 1, name: 'John' }]);
});// Socket.IO 连接// 监听客户端连接事件
io.on('connection', (socket) => {console.log('一个用户已连接');// 监听客户端发送的消息socket.on('chat message', (msg) => {// 向所有连接的客户端广播消息io.emit('chat message', msg);});// 监听客户端断开连接事件socket.on('disconnect', () => {console.log('一个用户已断开连接');});
});const port = 3000;
http.listen(port, () => {console.log(`服务器运行在端口 ${port}`);
});

 客户端示例

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>Socket.IO 示例</title>
</head>
<body><input id="input" autocomplete="off" /><button>发送</button><ul id="messages"></ul><script src="/socket.io/socket.io.js"></script><script>const socket = io();const input = document.getElementById('input');const button = document.querySelector('button');const messages = document.getElementById('messages');button.addEventListener('click', () => {if (input.value) {// 向服务器发送消息socket.emit('chat message', input.value);input.value = '';}});// 监听服务器发送的消息socket.on('chat message', (msg) => {const item = document.createElement('li');item.textContent = msg;messages.appendChild(item);});</script>
</body>
</html>

http://www.yayakq.cn/news/377364/

相关文章:

  • 网站的建设目标网站加地图
  • 7星彩网站开发wordpress图片自动分页插件
  • 河北建设部官方网站网站开发的过程
  • 建设部网站施工员查询wordpress上传主题
  • 做照片相册最好的网站wordpress 排名
  • 长沙市做网站公司排名网站建设服务宗旨
  • 国内旅游网站排名tiktok跨境电商怎么入驻
  • 网站架构招聘租车做什么网站推广
  • 如何在图片上做网站水印图网站语音转写怎么做
  • 织梦做的网站怎么样网站做友链
  • 做好的网站怎么链接wordpress 律所
  • 辖网站建设 网站设计wordpress置顶文章 图标
  • 网站的空间和域名是啥接网站建设单子
  • 关于加强网站建设与管理的通知wordpress 访问缓慢
  • 连南网站建设长春做网站设计
  • 静态网站特点wordpress 图片展示主题
  • python做网站有优势无锡网站推广公司
  • 网站建设在哪里申请python做网站的多吗
  • 炫彩发光字制作免费网站做视频剪辑接私活的网站
  • 华容网站建设自己怎么做返利网站吗
  • 城阳天河小学网站建设电商网站开发服务器
  • 一个公司可以做2个网站么做网站架构需要什么步骤
  • 衡水网站建费用wordpress编辑首页
  • 集团公司网站建设品牌上海搜索优化推广
  • 浏览器打开用dw做的网站说网页前端技术
  • 天猫商城官方网站河北省邯郸市
  • 湖南隆回建设局网站珠海网络公司联系方式
  • 万网速成网站有哪些 功能做一个高端网站
  • 自己如何建设个网站首页wordpress 无边栏 模板
  • 罗湖网站建设罗湖网站设计多个网站如何做301