Node.js笔记-使用socket.io构建websocket聊天室
先安装socket.io
npm install socket.io
服务端代码:
let app = require('http').createServer();
let io = require('socket.io')(app, { cors: true });let port = 3000;
let clientCount = 0;app.listen(port);io.on('connection', function (socket) {clientCount++;socket.nickname = 'user' + clientCount;io.emit('enter', socket.nickname + ' comes in');socket.on('message', function (str) {io.emit('message', socket.nickname + ' says: ' + str);})socket.on('disconnect', function () {io.emit('leave', socket.nickname + ' left');})
});console.log("Websocket server listening on port = " + port)
客户端代码:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>WebSocketIO</title><script src="https://cdn.socket.io/4.0.1/socket.io.js"></script>
</head>
<body><h1>Chat Room</h1><input id="sendTxt" type="text" /><button id="sendBtn">发送</button><script type="text/javascript">let socket = io("ws://localhost:3000/");function showMessage(str, type){let div = document.createElement('div');div.innerHTML = str;if(type == "enter"){div.style.color = "blue";}else if(type == "leave"){div.style.color = "red";}document.body.appendChild(div);}document.getElementById("sendBtn").onclick = function () {let txt = document.getElementById("sendTxt").value;if(txt){console.log(txt)socket.emit('message', txt);}}socket.on('enter', function (data) {showMessage(data, 'enter');})socket.on('message', function (data) {showMessage(data, 'message');})socket.on('leave', function (data) {showMessage(data, 'leave');})</script>
</body>
</html>
运行截图如下:
退出:
Node.js笔记-使用socket.io构建websocket聊天室相关推荐
- Express+Socket.IO 实现简易聊天室
代码地址如下: http://www.demodashi.com/demo/12477.html 闲暇之余研究了一下 Socket.io,搭建了一个简易版的聊天室,如有不对之处还望指正,先上效果图: ...
- 基于socket.io的web聊天室
基于socket.io的web聊天室 一. 项目介绍 该项目使用node.js作为后端服务器框架,并利用socket.io来实现web聊天室功能.socket.io是由 JavaScript 实现的基 ...
- 如何使用Vue,Phaser,Node,Express和Socket.IO构建多人桌面游戏模拟器
Putting together all of the pieces of a full stack JavaScript application can be a complex endeavor. ...
- dotnet调用node.js写的socket服务(websocket/socket/socket.io)
https://github.com/jstott/socketio4net/tree/develop socket.io服务端node.js,.里面有js写的客户端:http://socket.io ...
- node+socket.io+HTTP简易聊天室
用node+socket.io+HTTP做一个聊天室.聊天室主要由两部分构成,服务器(index.js)以及客户端(index.html). 文件目录如下所示: (node_modules文件夹以及p ...
- node+socket.io 实现一个聊天室
我们只做简单的实现,不接入数据库,nodejs也不使用express和koa等框架 因此依赖只有两个: 1.socket.io 2.mime(用于获取静态资源时获取文件的mime类型) 安装命令: n ...
- php做群聊功能,使用socket.io 实现群聊天室
本篇向大家分享一个socket.io的使用实例,实现群聊天的功能.如果想使用socket.io那么必须借助于nodejs来实现服务端,因此我们需要在nodejs中安装socket.io 安装socke ...
- 使用Node.js+Socket.IO搭建WebSocket实时应用
Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. 作 ...
- [读书笔记]从物联到万联——Node.js与树莓派万维物联网构建实战
前言 本文是"从物联到万联,Node.js与树莓派万维物联网构建实战"一书的读书笔记,该书翻译自"Building the Web of Things with exam ...
最新文章
- 递归函数和预处理学习总结
- 【转】自然语言系列学习之表示学习与知识获取(五)融合文本和知识,利用cnn方法进行关系抽取
- 计算机组成要素二:布尔运算:ALU算术运算器
- jpa java.util.map_使用JPA存储Map String,String
- idea+springboot+mongodb的实战使用分享
- 字节跳动武汉招聘 2000 人,距离大厂 Offer,你还差这篇 Java 干货!| 原力计划...
- RabbitMQ的工作模式及消息顺序性的保证
- 电信无线服务器的密码是什么,电信光猫wifi默认密码是多少?
- 一种基于复制粘贴的cam350邮票孔拼版教程(一)
- s3c2440 IIC AT24C08
- 业务与信令-第6章VoLTE信令
- 诺瓦面试(一面和二面)总结
- 利用PCL库做简单的三维立体图形
- okhttp3 Response.body().toString()
- 5,10,15,20-四(3,5-二甲氧基苯基)卟啉((TdmPP)H2)/2-硝基-5,10,15,20-四(3,5-二甲氧基苯基)卟啉铜(NO2TdmPP)Cu)齐岳供应
- 学术圈很火的 超材料、超表面、超透镜:什么时候可以代替传统透镜?
- 一种基于CUDA标准的异构并行编程模型开发简介
- ov2604寄存器配置
- 本体李俊火星大学最新演讲:从区块链核心价值谈金融场景应用
- 详细介绍OAuth2.0及实现和SpringSecurity的整合应用
热门文章
- 【Mockplus教程】界面闪烁花屏怎么办?
- PowerMock介绍
- 【cocos2d-x】游戏构成要素③----游戏关卡的实现
- 桌面图标变蓝底处理方法
- ajax入门体会(转)
- 程序员的毕业设计,时隔一年,仍感觉头秃
- 职场中神奇的程序员,却常常被人说“太直”,这是什么样的思维?
- Caused by: javax.xml.stream.FactoryConfigurationError: Provider com.ctc.wstx.stax.WstxInputFactory n
- 数据行业工作3年,我靠这7个能力,成为领导青睐的高级数据分析师
- 2013年上半年工作总结,哇哈哈哈,给自己看的。