websocket与node.js实现

什么是 websocket?

websoket 是一种网络通信协议,基于 tcp 连接的全双工通信协议(客户端和服务器可以同时收发信息),值得注意的是他不基于 http 协议,websocket 只有在建立连接的时候使用到 http 协议进行连接。

websoket 有如下特点:

  • 只建立一次连接,后续会一直保持连接状态
  • 没有同源限制,可以跨域
  • 可以接受发送任何类型数据
  • 协议是 ws 或 wss,wss 是加密的,增加了 ssl 协议

通过node实现websocket

提示:使用ts实现,运行代码前需要执行如下操作

  1. npm init
  2. tsc --init
  3. npm i @types/node -D
  4. npm i ws
  5. npm i @types/ws -D
typescript 复制代码
import ws from "ws";
// 创建socket服务
const server = new ws.Server({ port: 8080 });
// 监听连接的建立
const openHandle = () => { };
// 监听连接关闭
const closeHandle = () => { };
// 监听错误
const errorHandle = () => {};
const connectionHandle = (ws: ws) => {
  ws.on("message", messageHandle);
};
const messageHandle = (data: Buffer) => {
  // 需要注意的是websocket拿到的是二进制数据,需要通过toString进行转换
  console.log(data.toString());
  // 将收到的信息广播出去
  server.clients.forEach(item => {
    item.send(data.toString());
  });
};

server.on("open", openHandle);
server.on("close", closeHandle);
server.on("error", errorHandle);
server.on("connection", connectionHandle);
相关推荐
濮水大叔7 小时前
为什么 AI 最擅长 React/Next.js,却很少看到真正好用的 Next.js 开源项目?
react.js·node.js·next.js
AI行业学习10 小时前
Claude Code + cc-switch + Git + Node.js 全套下载+安装+配置完整版
开发语言·git·python·前端框架·node.js·html·notepad++
fpcc10 小时前
c++应用网络编程之十七WebSocket
网络·c++·websocket
万亿少女的梦16814 小时前
基于微信小程序、Express与MongoDB的校园失物招领系统设计
mongodb·微信小程序·node.js·express·系统设计
AI行业学习14 小时前
Claude Code + cc-switch + Git + Node.js 一站式完整安装配置教程【8.3】
git·python·安全·前端框架·node.js·html·notepad++
AI行业学习14 小时前
Claude Code + cc-switch + Git + Node.js 一站式完整安装配置教程(2026最新·国内可用版)
人工智能·git·python·安全·node.js·html·notepad++
用户847181054191 天前
从0开始打造自己的个人智能体(一)——Deep Agents js环境配置与对话入门
node.js·agent
减瓦2 天前
从 0.1 到 26:一个运行时的十七年进化史
node.js
晓得迷路了2 天前
栗子前端技术周刊第 140 期 - pnpm、Node 新 API 文档网站、Oxlint...
前端·javascript·node.js
孟陬2 天前
Node.js 测试报告格式一览和自定义 json 格式 `--test-reporter=spec | tap | dot | junit | lcov`
node.js