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

node启动websocket保持后台一直运行

在 Node.js 中启动一个 WebSocket 服务器并使其在后台持续运行,你可以使用几种方法。下面是一种常见的方法,通过创建一个简单的 WebSocket 服务器并使用 node 命令直接运行它,同时确保它在后台运行。

1. 创建 WebSocket 服务器

首先,你需要创建一个简单的 WebSocket 服务器。假设你使用 ws 库,这是一个流行的 WebSocket 库。

  1. 初始化一个新的 Node.js 项目(如果你还没有的话):

//cmdmkdir websocket-server  
cd websocket-server  
npm init -y

2.安装 ws 库:

//cmd
npm install ws

3.创建一个 server.js 文件,并添加以下代码:

//javascriptconst WebSocket = require('ws');  const wss = new WebSocket.Server({ port: 8080 });  wss.on('connection', (ws) => {  console.log('New client connected');  ws.on('message', (message) => {  console.log(`Received: ${message}`);  // Echo the message back to the client  ws.send(`You said: ${message}`);  });  ws.on('close', () => {  console.log('Client disconnected');  });  
});  console.log('WebSocket server is running on ws://localhost:8080');

2. 在后台运行 Node.js 服务器

有几种方法可以在后台运行 Node.js 应用程序,例如使用 nohuppm2 或 forever 等工具。下面是一些常见的方法:

使用 pm2(推荐)

pm2 是一个流行的 Node.js 应用程序的进程管理工具,它提供了强大的功能,如负载均衡、日志管理和监控。

        1.全局安装 pm2

//cmdnpm install -g pm2

        2.使用 pm2 启动你的 WebSocket 服务器:

//cmdpm2 start server.js --name websocket-server

        3.查看正在运行的进程:

//cmd
pm2 list

        4.停止进程:

//cmd
pm2 stop websocket-server

        5.删除进程(如果需要):

//cmd
pm2 delete websocket-server

pm2 会自动管理你的进程,并在系统重启时重新启动它们。你还可以通过 pm2 logs 查看日志。

3. 验证 WebSocket 服务器

你可以使用 WebSocket 客户端(如浏览器控制台或 Postman 的 WebSocket 测试功能)来测试你的 WebSocket 服务器。

在浏览器控制台中,你可以使用以下代码:

//javascript
const ws = new WebSocket('ws://localhost:8080');  ws.onopen = () => {  console.log('Connected to WebSocket server');  ws.send('Hello, server!');  
};  ws.onmessage = (event) => {  console.log(`Message from server: ${event.data}`);  
};  ws.onclose = () => {  console.log('Disconnected from WebSocket server');  
};

这样,你就可以验证 WebSocket 服务器是否按预期工作并在后台持续运行。

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

相关文章:

  • CSS画出三角形的做法
  • web开发(1)-基础
  • python程序操作Windows系统中的软件如word等(是否可以成功操作待验证)
  • 人工智能发展历程
  • Flutter路由
  • css预处理器less
  • WEB服务器——Tomcat
  • C++ STL(3)list
  • Ubuntu下安装Zookeeper集群
  • 模版and初识vector
  • 网站开发基础:HTML、CSS
  • IP协议讲解
  • SpringMVC4-SpringMVC获取请求参数
  • 【C++】C++基础
  • 自动化运维工具 Ansible
  • 深度学习:GAN图像生成
  • django基于python的房价分析可视化系统的设计与开发 h1y0i
  • Labview helper
  • 《安富莱嵌入式周报》第343期:雷电USB4开源示波器正式发布,卓越的模拟前端低噪便携示波器,自带100W电源的便携智能烙铁,NASA航空航天锂电池设计
  • 如何用JavaScript编写一个简单的计数器
  • uniapp中实现评分组件,多用于购买商品后,对商品进行评价等场景
  • 算法笔记(三)——前缀和算法
  • Nginx技术深度解析与实战应用
  • Maven Surefire Plugin
  • 八、跳跃、闪避
  • 使用辅助分类器 GAN 进行条件图像合成
  • C#中的static关键字:静态成员与单例模式的实现
  • 【优选算法】(第八篇)
  • 告别PPT熬夜!Kimi+AIPPT一键生成PPT,效率upup!
  • 大语言模型在构建UNSPSC 分类数据中的应用