当前位置:

首页 > 编程开发 > Ubuntu下Node.js如何实现实时通信功能

Ubuntu下Node.js如何实现实时通信功能

本文目录

    在Ubuntu中,利用Node.js与WebSocket库构建实时通信系统。安装Node.js后创建项目并安装ws模块,编写服务器监听8080端口并广播消息。通过简易客户端页面收发消息,验证实时广播功能。

    在Ubuntu上搞实时通信,Node.js搭配WebSocket几乎是标配方案。WebSocket这个协议大家应该不陌生,它能在单个TCP连接上实现全双工通信,简单说就是让服务端和客户端能随时互推数据,不需要像HTTP那样反复握手。下面直接上步骤,跟着走就能跑起来。

    Ubuntu下Node.js如何实现实时通信功能

    第一步,先把Node.js装上。如果你还没装,终端里跑这两行就行:

    sudo apt update
    sudo apt install nodejs npm

    然后创建项目目录。新建一个文件夹,进去初始化Node项目,标准操作:

    mkdir realtime-chat
    cd realtime-chat
    npm init -y

    接下来安装WebSocket库。这里推荐ws,轻量稳定,npm一把梭:

    npm install ws

    核心环节:创建WebSocket服务器。新建一个server.js,写入以下代码。这段代码的逻辑很清晰——监听8080端口,收到客户端消息后,广播给所有其他连接的客户端(除了发消息的自己)。同时新连接会收到一条欢迎信息。

    const WebSocket = require('ws');
    const wss = new WebSocket.Server({ port: 8080 });
    
    wss.on('connection', function connection(ws) {
        ws.on('message', function incoming(message) {
            console.log('received: %s', message);
            // Broadcast to all clients
            wss.clients.forEach(function each(client) {
                if (client !== ws && client.readyState === WebSocket.OPEN) {
                    client.send(message);
                }
            });
        });
    
        ws.send('You are connected to the WebSocket server!');
    });
    
    console.log('WebSocket server is running on ws://localhost:8080');

    再搞一个客户端页面。新建client.html,代码量不大,就是个简易聊天界面:输入框、发送按钮、消息列表。Ja vaScript部分用原生WebSocket API连接服务器,收到消息就追加到列表,发送消息则调用send()。

    
    
    
        
        
        WebSocket Client
    
    
        

    WebSocket Client

      最后跑起来看看效果。终端执行node server.js启动服务,然后用浏览器打开http://localhost:8080/client.html(注意这里不是直接访问文件路径,而是需要用一个HTTP服务器托管client.html,或者更简单地直接用npx serve之类的工具)。如果一切正常,你会看到连接成功的日志,发一条消息,所有打开的客户端页面都能收到广播。

      至此,一个最基本的实时通信demo就搭好了。当然,这只是一个起点——你可以在此基础上做很多扩展,比如加入房间管理、用户身份认证、消息持久化,甚至结合WebRTC做音视频。从实践角度看,ws库的性能和稳定性在业界已经被广泛验证,值得信任。

      本文内容来源于网友投稿,如有侵权请联系删除。
      作者最新文章
      编程开发 Ubuntu
      相关文章 更多
      链表删除节点的时间复杂度是多少及其详细分析
      链表删除节点的时间复杂度是多少及其详细分析

      详细分析链表删除节点的时间复杂度,深入探讨单链表与双向链表在不同已知前提下的查找与删除开销,并结合完整代码与清晰图解进行对比总结。

      codex如何配置模型参数及文件设置教程
      codex如何配置模型参数及文件设置教程

      想知道如何让AI写出的代码更贴合你的习惯?本文手把手教你在VS Code中调整Codex相关模型参数,通过修改配置文件优化温度值和令牌限制,解决代码建议不准确或响应慢的问题。

      Claude Code AI编程工具实力揭秘与编程助手实测
      Claude Code AI编程工具实力揭秘与编程助手实测

      通过实测展示Claude Code在终端中如何理解自然语言指令、自动修改代码文件并处理复杂编程任务,帮助开发者评估其实际辅助能力。

      winforms教程自学入门与基础开发步骤详解
      winforms教程自学入门与基础开发步骤详解

      本教程详细讲解如何使用Visual Studio创建WinForms项目,通过添加按钮和标签控件并编写点击事件代码,实现一个基础的计数器功能,适合C#初学者快速上手Windows窗体应用开发。

      Cursor自动补全设置教程教你快速开启代码补全功能
      Cursor自动补全设置教程教你快速开启代码补全功能

      详解Cursor编辑器中自动补全功能的开启与优化设置,涵盖Tab触发机制、上下文窗口调整及模型切换,帮助开发者解决补全延迟、干扰大等问题,提升编码流畅度。

      pandas的数据格式怎么转换和设置方法教程
      pandas的数据格式怎么转换和设置方法教程

      详解Pandas中数据格式转换的核心方法,包括astype强制转换、to_numeric容错处理及日期解析技巧,解决常见类型错误并提升数据处理效率。

      VS Code中文设置方法 简体语言包安装与切换教程
      VS Code中文设置方法 简体语言包安装与切换教程

      详细介绍在Visual Studio Code中安装Chinese (Simplified)语言包的方法,包括通过扩展市场搜索、安装及自动重启切换至简体中文界面的完整步骤,帮助开发者快速将编辑器本地化。

      cursor安装过程无法更改安装位置的解决方法
      cursor安装过程无法更改安装位置的解决方法

      针对Cursor安装包默认锁定C盘且无路径选择界面的问题,提供通过手动移动文件并创建目录联结(Symbolic Link)的解决方案,实现将软件安装在其他磁盘分区。

      rust下载安装教程详解及Windows环境配置方法
      rust下载安装教程详解及Windows环境配置方法

      详解Windows系统下Rust语言的安装步骤,重点解析rustup工具链管理机制,解决环境变量配置错误及MSVC链接器缺失问题,提供可复制的命令验证方法与常见报错的因果排查思路。

      vs code怎么配置 chat实用设置教程步骤
      vs code怎么配置 chat实用设置教程步骤

      详解VS Code中Chat插件的安装与核心配置步骤,重点解决API连接失败、响应慢等常见问题,通过优化上下文设置提升代码生成质量,适合希望集成AI辅助工具的开发者阅读。

      查看更多
      精品专题 更多
      装机必备
      装机必备

      正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

      Windows
      Windows

      正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

      macOS软件
      macOS软件

      正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

      Mac软件 更多
      photoshop
      photoshop
      Windows、macOS 、 iPad

      Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

      Blender
      Blender
      Windows、macOS 和 Linux

      Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

      灵活计算器
      灵活计算器
      macOS/iOS/Android

      灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

      WINDOWS 更多
      3dmax(3ds max)
      3dmax(3ds max)
      Windows

      Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

      photoshop
      photoshop
      Windows、macOS 、 iPad

      Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

      Blender
      Blender
      Windows、macOS 和 Linux

      Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。