用Node.js编写多人实时在线聊天室
来源:互联网 发布:大阿亚图拉知乎 编辑:程序博客网 时间:2024/05/22 00:27
在Mike和Marc合著的《Node.js实战》书中提供了一个聊天室demo,但书中所用Node版本太旧,代码已不能运行。所以本示例代码基于Node.js当前最新版本6.11.0修改而成,代码地址:
https://github.com/foupwang/chatrooms1、进入根目录,先安装第三方模块,命令:npm install
2、启动服务器,命令:node server.js
3、打开浏览器,输入地址:http://127.0.0.1:3000/4、开始文字聊天或输入命令创建新聊天室;
代码实现了以下功能:
1、给同一房间所有用户发送消息;
2、显示可用房间列表;
3、输入命令加入已有房间或创建新房间;
4、新用户进入房间通知;
5、输入命令修改用户昵称;
该聊天室代码虽简单,却展示了构建实时Web程序所需的重要组件和基本技术。不但能看到Node如何同时处理传统的HTTP数据(比如静态文件)和实时数据(聊天消息),还能看到Node程序如何组织、依赖项如何管理,以及一个端口同时处理HTTP和WebSocket。
背景知识
1、什么是WebSocket?
WebSocket是基于TCP的一种新的网络协议,它实现了浏览器与服务器之间的双向通信(允许服务器主动发送信息给客户端)。在WebSocket协议出现之前,双向通信是通过多个HTTP链接轮询实现的,导致了效率低下等一系列问题。一个更简单的解决方案是使用单个TCP连接双向通信,这就是WebSocket协议所提供的功能。
2、什么是Socket.IO?
大多数情况下,只有兼容HTML5的现代浏览器才支持WebSocket,也就是说,某些浏览器可能不支持WebSocket。而Socket.IO做了基于WebSocket及其它传输方式的封装,它提供了一个抽象层,如果浏览器没有实现WebSocket,Socket.IO会自动启用一个备选方案,而对外提供的API还是一样的。阅读全文
0 0
- 用Node.js编写多人实时在线聊天室
- Node.js + express + socket 实现在线实时多人聊天室
- Node.js+socket.io在线聊天室
- 基于node.js的在线聊天室
- 使用Node.js+Socket.IO搭建WebSocket实时应用(聊天室)
- Node.js websocket 使用 socket.io库实现实时聊天室
- Node.js websocket 使用 socket.io库实现实时聊天室
- Node.js websocket 使用 socket.io库实现实时聊天室
- [NodeJS]使用Node.js写一个简单的在线聊天室
- Node.js+Express+Socket.IO搭建在线聊天室
- 使用node.js和socket.io实现多人聊天室
- socket.io & Node.js搭建多聊天室
- socket.io & Node.js搭建多聊天室
- 从零开始用node.js搭建web聊天室
- 用node.js搭建web聊天室
- Java编写多人聊天室
- [NodeJS]Node.js 打造实时多人游戏框架
- Node.js 制作实时多人游戏框架
- css做一个仪表盘
- [Usaco2008 Dec]Hay For Sale 购买干草
- 面向对象 析构方法 销毁对象时自动触发
- SQL的四种连接-左外连接、右外连接、内连接、全连接
- 4、netty之解决tcp粘包问题(netty学习笔记)
- 用Node.js编写多人实时在线聊天室
- Spring依赖注入原理
- winrar 只打包不压缩
- C 语言实现增量式PID
- linux 作为java web服务器参数系统参数优化(调优)
- java开发之框架搭建(SSM整合+profile+mybatis逆向工程)
- Hello World!
- bzoj5042: LWD的分科岛 两种做法
- Kettle安装后点击spoon.bat一闪而过处理