分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

node实现websocket聊天室

发布时间:2023-09-06 01:41责任编辑:顾先生关键词:websocket
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(‘连接成功‘); ???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‘);});

  

<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title>websocket</title> ???<link rel="stylesheet" href="test.css"></head><body><input id="msg" type="text"/><button id="send" onclick="sendMsg()">发送</button><script> ???var ws = new WebSocket(‘ws://localhost:3001‘); ???ws.onopen = function(e) { ???????console.log(e); ???}; ???ws.onmessage = function(data) { ???????console.log(data.data); ???????showMsg(data.data); ???}; ???ws.onerror = function(e) { ???????console.log(e); ???}; ???ws.onclose = function(e) { ???????console.log(e); ???}; ???function sendMsg() { ???????var msg = document.getElementById(‘msg‘).value; ???????var now = (new Date()).toLocaleTimeString(); ???????ws.send(now+‘@‘+msg); ???} ???function showMsg(data) { ???????var msg = document.createElement(‘div‘); ???????msg.innerHTML = data; ???????document.body.appendChild(msg); ???} ???document.onkeyup = function(event) { ???????event = event || window.event; ???????if (event.keyCode == 13) { ???????????sendMsg(); ???????} ???};</script></body></html>

  

node实现websocket聊天室

原文地址:https://www.cnblogs.com/huangtonghui/p/8418080.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved