NodeJs 实现简单WebSocket即时通讯的示例代码

下面我将详细介绍如何使用Node.js实现简单的WebSocket即时通讯,包括以下步骤:

步骤一:创建WebSocket服务器

首先,我们需要使用Node.js创建一个WebSocket服务器,代码如下:

const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });

server.on('connection', (ws) => {
  console.log('client connected');

  // 客户端发送消息时触发
  ws.on('message', (message) => {
    console.log(`received: ${message}`);
    // 向客户端发送消息
    ws.send(`you sent: ${message}`);
  });
});

上述代码使用了ws模块创建了一个WebSocket服务器,指定端口8080。当有客户端连接到服务器时,触发connection事件,并打印客户端连接的信息。同时,当客户端发送消息时,触发message事件,并打印收到的消息。最后向客户端发送回复消息。

步骤二:创建WebSocket客户端

使用ws模块创建WebSocket客户端,代码如下:

const WebSocket = require('ws');
const client = new WebSocket('ws://localhost:8080');

client.on('open', () => {
  console.log('connected to server');

  // 向服务器发送消息
  client.send('hello, server!');
});

client.on('message', (message) => {
  console.log(`received: ${message}`);
});

上述代码创建了一个WebSocket客户端,并连接到服务器。当客户端成功连接到服务器时,触发open事件,并打印连接成功的信息,同时向服务器发送一条消息。当客户端接收到服务器发来的消息时,触发message事件,并打印接收到的消息。

示例说明

下面演示两个基本的示例,一个是客户端向服务器发送消息,服务器回复消息;另一个是服务器向客户端广播消息。

示例一:客户端向服务器发送消息,服务器回复消息

  1. 打开两个终端窗口,分别执行以下命令:

node server.js
node client.js

这样就会启动一个WebSocket服务器和一个WebSocket客户端。

  1. 在客户端终端窗口中输入一条消息,例如:hello, server!,然后按回车键。客户端就会将该消息发送给服务器。

$ node client.js
connected to server
received: you sent: hello, server!

服务器会打印出客户端发送的消息,并将该消息原样回复给客户端。

  1. 在客户端终端窗口中输入另一条消息,例如:how are you?,然后按回车键。客户端又会将该消息发送给服务器。

$ node client.js
connected to server
received: you sent: hello, server!
received: you sent: how are you?

服务器同样会打印出客户端发送的消息,并将该消息原样回复给客户端。

示例二:服务器向客户端广播消息

  1. 打开两个终端窗口,分别执行以下命令:

node server.js
node client.js

这样就会启动一个WebSocket服务器和一个WebSocket客户端。

  1. 在服务器的终端窗口中输入一条消息,例如:hello, everyone!,然后按回车键。服务器就会将该消息广播给所有连接到服务器的客户端。

$ node server.js
client connected
received: hello, everyone!
client connected
received: hello, everyone!

所有已连接到服务器的客户端都会接收到服务器广播的消息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:NodeJs 实现简单WebSocket即时通讯的示例代码 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • nodejs使用express创建一个简单web应用

    创建一个简单的web应用最常用的方式就是使用nodejs与express框架,下面是使用express框架创建一个简单的web应用的完整攻略。 1. 安装Node.js 在开始使用Express框架之前,需要先安装Node.js。可以访问Node.js的官网(https://nodejs.org/en/),下载最新版本的Node.js并按照提示进行安装。 2…

    node js 2023年6月8日
    00
  • Node.js包管理工具

    Node.js包管理工具(npm)是一个命令行工具,可用于安装、升级、移除和管理Node.js软件包。以下是使用npm来管理Node.js包的攻略: 安装npm npm已经随Node.js集成,因此如果您已经安装了Node.js,则npm也已经安装。可以通过下列命令验证npm是否已经安装: npm -v 搜索软件包 可以通过npm来搜索可用的软件包。使用下列…

    node js 2023年6月7日
    00
  • JavaScript利用crypto模块实现加解密

    JavaScript利用crypto模块实现加解密的完整攻略,包含以下步骤: 1. 引入crypto模块 在Node.js中,使用crypto模块来实现加解密操作。可以使用以下代码引入crypto模块: const crypto = require(‘crypto’); 2. 生成密钥 在加解密过程中,需要使用密钥来实现加密和解密操作。可以使用crypto模…

    node js 2023年6月8日
    00
  • npm ERR!Cannot read properties of null(reading ‘pickAlgorithm’)报错问题解决

    当你在使用npm包管理器或执行npm命令时,有时候你会遇到“npm ERR!Cannot read properties of null(reading ‘pickAlgorithm’)”这个错误提示,这是一个常见的npm错误。 这个错误提示通常说明你在使用npm包管理器时,执行了某个npm命令,但是在执行这个命令的过程中,出现了问题,可能是由于某些npm配…

    node js 2023年6月8日
    00
  • 如何利用nodejs实现命令行游戏

    下面是基于Node.js实现命令行游戏的完整攻略: 1.了解Node.js 首先,你需要了解Node.js是一个什么样的东西。Node.js是一个基于Chrome V8 JavaScript引擎的开源、跨平台的后端JavaScript运行环境,可以用于快速构建高性能、可扩展的网络应用程序。Node.js它提供了一些内置模块,包括文件系统、HTTP等,使得可以…

    node js 2023年6月8日
    00
  • NodeJs在Linux下使用的各种问题解决

    Node.js在Linux下使用的各种问题解决攻略 Node.js是一种在Linux操作系统上运行的JavaScript运行时环境。然而,在使用Node.js时,用户可能会遇到各种问题。本文将介绍使用Node.js时可能遇到的各种问题,并提供解决方法。 各种问题解决方法 问题1:安装Node.js失败 如果在安装Node.js时遇到问题,可以使用以下方法解决…

    node js 2023年6月8日
    00
  • NodeJS创建最简单的HTTP服务器

    请听我详细讲解如何创建最简单的HTTP服务器。 步骤一:安装NodeJS 首先,我们需要在本机安装NodeJS。NodeJS是用JavaScript编写的服务器端运行时环境,可以让JavaScript在服务器端运行。如果你已经安装了NodeJS,则可以跳过此步骤。 你可以从NodeJS官网https://nodejs.org/下载安装包,安装完成后,打开终端…

    node js 2023年6月8日
    00
  • node.js中fs文件系统目录操作与文件信息操作

    下面是关于在Node.js中进行fs文件系统目录操作与文件信息操作的完整攻略。 1. fs模块的引入 在Node.js中,进行fs文件系统目录操作与文件信息操作,需要先引入fs模块,代码如下: const fs = require(‘fs’); 2. 目录操作 2.1 创建目录 可以使用fs模块中的mkdir函数来创建目录,其语法如下: fs.mkdir(p…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部