0

0

node.js创建简单聊天室的方法介绍

青灯夜游

青灯夜游

发布时间:2021-01-06 17:56:20

|

3192人浏览过

|

来源于csdn

转载

使用nodejs如何创建一个简单聊天室?下面本篇文章给大家介绍一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

node.js创建简单聊天室的方法介绍

相关推荐:《nodejs视频教程

刚刚开始学js,本文是基于node.js和websocket实现一个简单的在线聊天室系统(聊天群)。

本文适合纯小白阅读。

废话不多说,我们正式开始。

在B/S架构中,我们要得到一个数据,要向服务器请求,然后服务器响应。那么如果我们客户端不发送请求,服务器会不会主动给我们的客户端(浏览器)发东西呢?

答案是不会的,客户端和服务器通过TCP/IP协议进行连接,然后通过HTTP协议进行请求连接。而HTTP协议是一个请求—响应式的协议,而且它是一个无状态的协议,即每一次请求—响应之间是没有关系的。

而我们的聊天室需要什么呢?

1.发送消息      2.接收消息

在接收消息中:一个客户端给服务器发送消息,服务器接收消息,然后主动发给另一个客户端。

十天学会PHP教程
十天学会PHP教程

以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。 PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合。我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序。当然要简单的构建和访问查看数据库 PHPMYADMIN 不可少。

下载

所以HTTP满足不了我们的要求。这里我们就要用到socket协议。当服务器与客户端连接后,两者都会时刻做着收发消息的准备。

首先在npm中下载socket.io模块(之前要安装了node.js才行)。打开cmd。

(我创建了一个node.js chat文件夹,文件都放在这里面)

然后开始写我们的服务器代码,创建文件server.js。

//server.js

var http = require('http');
var fs = require('fs');
var ws = require('socket.io'); //引入socket.io

var server = http.createServer(function (req, res) {
    var html = fs.readFileSync('./client.html'); 
   //client.html是发送给客户端的文件(客户端界面)

    res.end(html);
}).listen(8000);

var io = ws(server); //http服务与ws服务相关联, 返回io服务实例

//监听用户的连接事件
io.on('connection',function (socket) {      
    //发生在用户连接io服务器时
    console.log('有新用户进入房间');

    //消息发送事件
    socket.on('message',function (obj) {
       console.log(obj);
       io.emit('message',obj); //发送消息给所有客户端(广播)
    });
});

然后开始写客户端。

因为我们服务器用的是socket.io,所以在客户端中应该使用socket.io相对应的服务。此处我直接引入了一个js文件。

创建文件client.html。

//client.html




    
    Node.js+webSocket聊天室


liky聊天室

到此,代码部分就完成了。接下来打开cmd,运行我们的文件。

现在就可以打开浏览器看一下效果啦。打开浏览器,访问地址http://localhost:8000/。多打开几个页面来试试效果。

这样,一个简单的本地聊天室就完成啦。可以传到服务器上,就可以和别人一起聊天啦(这个有空我再写一下)。

更多编程相关知识,请访问:编程教学!!

相关专题

更多
node.js调试
node.js调试

node.js调试可以使用console.log()输出调试信息、断点调试和第三方调试工具。详细介绍:1、console.log()输出调试信息,通过在代码中插入console.log()语句,开发人员可以在控制台输出变量的值、函数的执行结果等信息,以便观察代码的执行流程和状态;2、断点调试,可以在代码中设置断点,以便在特定位置暂停代码的执行,观察变量的值和执行流程等。

346

2023.09.19

JavaScript 全栈开发基础(Node.js + 前端)
JavaScript 全栈开发基础(Node.js + 前端)

本专题系统介绍 JavaScript 在全栈开发中的核心知识结构,涵盖 Node.js 基础、Express/Koa 接口构建、前端交互设计、模块化与包管理、数据库连接、前后端数据通信与部署流程。通过完整项目示例,帮助学习者掌握从浏览器到服务器的一体化开发能力,实现真正意义上的全栈入门。

91

2025.11.26

html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

605

2023.06.14

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

644

2023.06.21

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

466

2023.07.31

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

245

2023.08.01

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2882

2023.08.11

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

503

2023.08.11

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

80

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 6.6万人学习

前端基础到实战(HTML5+CSS3+ES6+NPM)
前端基础到实战(HTML5+CSS3+ES6+NPM)

共162课时 | 18.6万人学习

第二十二期_前端开发
第二十二期_前端开发

共119课时 | 12.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号