位置:首页 > JavaScript > Ubuntu 上如何用 JavaScript 快速跑通 WebSocket 通信

Ubuntu 上如何用 JavaScript 快速跑通 WebSocket 通信

时间:2026-08-24  |  作者:穿越地图的猫  |  阅读:0

目录

  1. 准备运行环境
  2. 创建项目并安装 ws
  3. 编写并启动 WebSocket 服务器
  4. 编写浏览器端 WebSocket 客户端
  5. 测试连接是否成功
  6. 这个示例适合用来做什么

前言

想在 Ubuntu 上把 WebSocket 通信先跑通,最容易卡住的往往不是 API 本身,而是环境、端口监听和浏览器连接这几步是否衔接正确。下面用一个最小可运行示例,从安装 Node.js、创建项目到编写服务端和客户端逐步展开,你既能直接照着复现,也能据此判断消息到底在哪一端成功发出、在哪一端被接收。

想在 Ubuntu 上快速跑通一套 JavaScript WebSocket 通信,关键不是概念有多复杂,而是先把环境、服务端和浏览器端这三步顺下来。下面这篇文章按“安装依赖、写服务端、写客户端、验证连接”的顺序展开,并保留完整命令与示例代码,方便你直接照着复现,也能顺手看清一次最基础的消息收发流程。

准备运行环境

先确认 Ubuntu 已安装 Node.js 和 npm。文章示例直接使用系统包管理器完成安装:

sudo apt update
sudo apt install nodejs npm

执行完成后,就具备了运行 WebSocket 示例所需的基础环境。

创建项目并安装 ws

为了避免示例文件散落在系统里,先新建一个项目目录并初始化 npm:

展示 Ubuntu 上搭建 WebSocket 示例所需的环境准备与项目初始化步骤的信息图。
WebSocket 示例的本地准备顺序先完成 Node.js、npm、项目目录和 `ws` 依赖安装。
mkdir websocket-demo
cd websocket-demo
npm init -y

接着安装本文使用的 WebSocket 库 ws

npm install ws

ws 是 Node.js 里较常见的 WebSocket 实现之一,适合用来快速搭建最小可运行示例。

编写并启动 WebSocket 服务器

在项目目录中新建 server.js,让它监听 8080 端口,并处理客户端连接与消息:

const WebSocket = require('ws');

// 创建WebSocket服务器
const wss = new WebSocket.Server({ port: 8080 });

// 监听连接事件
wss.on('connection', function connection(ws) {
    console.log('客户端已连接');
    
    // 监听消息事件
    ws.on('message', function incoming(message) {
        console.log('收到消息:', message);
    });
    
    // 向客户端发送消息
    ws.send('你好!我是WebSocket服务器');
});

console.log('WebSocket服务器正在监听端口8080...');

这段服务端代码在做什么

它完成了三件事:

展示 WebSocket 服务端监听、浏览器连接和双方消息流转关系的信息图。
服务端与浏览器的消息收发流程这个最小示例的核心是:服务端监听 `8080`,浏览器通过。
  • 通过 new WebSocket.Server({ port: 8080 }) 启动一个监听 8080 端口的服务;
  • connection 事件里接收新的浏览器连接;
  • 收到客户端消息后打印日志,并主动向客户端发送一条欢迎消息。

启动服务器

保存文件后,在终端运行:

node server.js

如果控制台输出“WebSocket服务器正在监听端口8080...”,说明服务端已经正常启动。

编写浏览器端 WebSocket 客户端

接下来创建一个 client.html,用浏览器模拟客户端连接:





WebSocket Demo



WebSocket Demo

检查浏览器的控制台以查看WebSocket通信。

客户端连接流程怎么理解

页面加载完成后,脚本会执行 new WebSocket('ws://localhost:8080'),主动连接本机 8080 端口上的服务端。

  • ws.onopen:连接建立后触发,并向服务器发送“你好!我是WebSocket客户端”;
  • ws.onmessage:接收服务器发回的数据;
  • ws.onerror:连接过程中出现异常时输出错误;
  • ws.onclose:连接关闭时输出日志。

这也是理解 WebSocket 最直接的一种方式:连接建立后,双方都可以主动发消息,而不必像传统 HTTP 那样一问一答。

测试连接是否成功

服务端启动后,直接在浏览器中打开 client.html,再打开开发者工具控制台,就可以观察整个连接过程。

正常情况下,你会看到以下几类结果:

  • 浏览器控制台输出“连接已打开”;
  • 浏览器收到服务端发来的“你好!我是WebSocket服务器”;
  • Node.js 终端打印客户端连接成功,以及客户端发来的消息;
  • 关闭页面或断开连接时,客户端触发 onclose 日志。

如果这些日志都出现,说明这套最小化 WebSocket 通信已经跑通。

这个示例适合用来做什么

本文示例只覆盖最基础的连接与消息收发,但它已经足够帮助你确认几件事:Ubuntu 环境是否可用、Node.js 服务端是否监听成功、浏览器是否能正常建立 WebSocket 连接。

在实际项目里,通常还要继续补上更完整的能力,例如错误重试、消息格式规范化、安全认证等。不过从上面这套代码出发,再逐步加功能,会比一开始就引入复杂框架更容易定位问题,也更适合理解 WebSocket 的基本工作方式。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多