Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

nodejs websocket

作者:亡梦   发布日期:2025-09-03   浏览:77

// 引入 WebSocket 库
const WebSocket = require('ws');

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

// 当有新的客户端连接时触发
wss.on('connection', (ws) => {
    console.log('新客户端已连接');

    // 监听来自客户端的消息
    ws.on('message', (message) => {
        console.log(`收到消息: ${message}`);

        // 广播消息给所有连接的客户端
        wss.clients.forEach((client) => {
            if (client.readyState === WebSocket.OPEN) {
                client.send(`广播消息: ${message}`);
            }
        });
    });

    // 当客户端断开连接时触发
    ws.on('close', () => {
        console.log('客户端已断开');
    });
});

console.log('WebSocket 服务器已启动,监听端口 8080');

解释说明:

  1. 引入 WebSocket 库:使用 require('ws') 引入 WebSocket 库。
  2. 创建 WebSocket 服务器:通过 new WebSocket.Server() 创建一个 WebSocket 服务器,并指定监听端口为 8080。
  3. 处理客户端连接:当有新的客户端连接到服务器时,触发 connection 事件。每个连接的客户端会触发一次该事件。
  4. 监听消息:在每个连接上监听 message 事件,当收到客户端发送的消息时,可以进行处理(例如广播给其他客户端)。
  5. 广播消息:遍历所有连接的客户端,将消息发送给每个处于 OPEN 状态的客户端。
  6. 处理客户端断开:当客户端断开连接时,触发 close 事件,可以在此处执行清理操作。
  7. 启动服务器:最后打印一条日志,表示 WebSocket 服务器已经启动并监听指定端口。

上一篇:js string slice

下一篇:nestjs websocket

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组连接

js json数组

js 数组复制

js 复制数组

js 数组拷贝

js 对象数组合并

js 对象转数组

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站