博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node实现websocket聊天室
阅读量:4686 次
发布时间:2019-06-09

本文共 871 字,大约阅读时间需要 2 分钟。

const express = require('express');const app = express();const ws = require('ws').Server;const wss = new ws({port: 3001});var sockets = [];wss.on('connection', function(ws) {    ws.send('连接成功');    sockets.push(ws);    ws.on('message', function(data) {        ws.send(data);        try {            sockets.forEach(function (socket) {                 if (ws != socket) {                    socket.send(data);                 }            });        } catch (err) {            console.log(err);        }    });    ws.on('error', function(e) {        console.log(e);    });    ws.on('close', function(e) {        console.log(e);    });});app.use(express.static(__dirname)).listen(3000, 'localhost');app.get('/', (req, res) => {    res.sendFile(__dirname+'/websocket.html');});

  

    
websocket

  

转载于:https://www.cnblogs.com/huangtonghui/p/8418080.html

你可能感兴趣的文章
arguments.callee的作用及替换方案
查看>>
23 Java学习之RandomAccessFile
查看>>
P2709 小B的询问
查看>>
润乾报表 动态控制文本的显示
查看>>
[oracle] 如何使用myBatis在数据库中插入数据并返回主键
查看>>
PHP echo 和 print 语句
查看>>
第一讲 一个简单的Qt程序分析
查看>>
Centos 6.5下的OPENJDK卸载和SUN的JDK安装、环境变量配置
查看>>
poj 1979 Red and Black(dfs)
查看>>
【.Net基础03】HttpWebRequest模拟浏览器登陆
查看>>
UML-画类图与交互图的顺序
查看>>
6月7 考试系统
查看>>
mysql 基本操作
查看>>
zTree async 动态参数处理
查看>>
Oracle学习之常见错误整理
查看>>
HTC Sensation G14开盒
查看>>
lock_sga引起的ksvcreate :process(m000) creation failed
查看>>
数据库插入数据乱码问题
查看>>
OVER(PARTITION BY)函数用法
查看>>
altium annotate 选项设置 complete existing packages
查看>>