我们需要Node.js

一、先来个最终效果图,我做的是手机端网页,不过用电脑也可

哎呦,还不错吧,虽然我的聊天室极简,但也保证你的学习难度不会太大哦。

二、开始准备工作,下载node.js吧

注意:一会儿记得给你的npm和cnpm加个环境变量
博客园的node.js安装链接在此!!!

好的,如果你用这个保姆级链接安装node.js依然没有真正成功(你后面的聊天室搭建一定会出现问题),在我的实践下,错误大概是:
1、不要把node安装到c盘,c盘的文件操作是需要管理员权限的,而node的操作是依赖你的cmd面板的,一般来说cmd面板一开始是不会开启管理员权限的。
2、如果你真的安装在c盘,后面出现问题,可以打开cmd面板的管理员模式,再进一步操作与node有关的事情。

开始写我们的聊天室吧

一、在桌面创建一个文件夹,名字为app

二、在app文件夹内创建两个文件(不用往里面写东西,创建即可)

三、把这段代码放入index.html里(记事本打开放入即可,若你有编译器更好)

<!doctype html>
<html><head><title>客户群聊界面</title><style>* {margin: 0;padding: 0;box-sizing: border-box;font-family: '微软雅黑'}#container {width: 100%;height: 1700px;background: #eee;position: relative;box-shadow: 40px 40px 110px #777;}.header {background: #25421ab0;height: 80px;color: #fff;line-height: 68px;font-size: 40px;padding: 0 20px;}body {width: 100%;background: #eee;position: relative;font: 60px;}form {background: #000;position: fixed;bottom: 0;width: 100%;}form input {border: 0;width: 80%;font-size: 40px;}form button {width: 20%;background: rgb(130, 224, 255);border: none;font-size: 40px;}#messages {list-style-type: none;margin: 0;padding: 0;font-size: 40px;}#messages li {padding: 5px 10px;font-size: 40px;}#messages li:nth-child(odd) {background: #eee;}</style><script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head><body><div class="header"><span style="float: left;">客户交流平台</span><!--<span style="float: right;">14:21</span>--></div><ul id="messages"></ul><form action=""><input id="m" placeholder="说点什么吧..." autocomplete="off" /><button>发送</button></form>
</body><script src="/socket.io/socket.io.js"></script>
<script>var name = prompt("请输入你的昵称:");var socket = io()//发送昵称给后端,并更改网页titlesocket.emit("join", name)document.title = name + "的群聊"socket.on("join", function (user) {addLine(user + " 加入了群聊")})//接收到服务器发来的message事件socket.on("message", function (msg) {addLine(msg)})//当发送按钮被点击时$('form').submit(function () {var msg = $("#m").val() //获取用户输入的信息socket.emit("message", msg) //将消息发送给服务器$("#m").val("") //置空消息框return false //阻止form提交})function addLine(msg) {$('#messages').append($('<li>').text(msg));}
</script></html>

四、下面这段js代码当然是放到server.js中了

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var usocket = [];app.get('/', function(req, res){res.sendFile(__dirname + '/index.html');
});io.on('connection', function(socket){console.log('a user connected')socket.on("join", function (name) {usocket[name] = socketio.emit("join", name)})socket.on("message", function (msg) {io.emit("message", msg) //将新消息广播出去})});http.listen(3000, function() {console.log('listening on *:3000');
});

五、给你的文件夹安装点东西

NO.1 复制路径

NO.2 桌面属于c盘,我的node也安装在c盘,我当然是用管理员模式运行cmd啦,就是哪个命令提示符黑面板啦。

NO.3 cd一下你刚刚的app位置路径,就能在面板内打开文件夹(命令行操作开始,这就是1984年麦金塔系统以前操作电脑文件的方式)

NO.4 输入

cnpm install --save express

如图,你的文件夹里就多了两个东西

NO.5 再输入

cnpm install --save socket.io

哎呦,至此你的node聊天室环境搭建完成,至于socket是什么,感兴趣可以百度一下。

大功告成

输入

node server.js

下面出现一句 listening *:3000

至此,你的面板不要关,只需要打开浏览器,输入localhost:3000,即可访问自己的聊天室啦

最后一个问题

当然,你的聊天室不仅仅希望只有自己的电脑能访问吧,实际上,只需要你的朋友跟你在同一局域网内(通俗来说就是连同一个WiFi),然后你在面板内运行一句node server.js,你的朋友通过你的电脑的ip地址:3000(我就不示范了,毕竟暴露自己电脑的ip太危险啦)就能蹦进你的聊天室和你聊天啦,注意啦,就是把localhost这个单词换成你真正的ip地址就可以啦!如果你希望更多的人访问你的聊天室,就把网址放上服务器。

-----------------------------------------

什么?你问我网址是什么?你到底是不是学计算机的?网址就是IP地址加上你的端口号。额,端口号是什么?那个3000就是!如果你用过MySQL或者tomcat,那你应该听说过3306或者8080,没错,就是那个。

-----------------------------------------

哦,对了,是不是有人要源码?源码就是文章里面那个html和js啦,还有个json文件的源码是没有用的,后面环境搭建用自己电脑运行一下才能用,那后面俩文件也是node给你生成的,不用你自己写,你不搭建环境,我把文件夹全发给你,你电脑也跑不起来。

搭建多人聊天室(保姆级教学,从0开始)相关推荐

  1. Nodejs+webSocket搭建多人聊天室

    NodeJs+webSocket搭建多人聊天室 准备的东西: 第一步:安装插件并且完善服务端 第二步 :搭建客户端并与服务端的通信 第三步 :添加CSS样式 第四步:总结 今天花了一个上午的时间去学习 ...

  2. 手把手教你使用Hugo搭建个人博客网站|保姆级教学

    搭建个人博客网上目前用的比较多的博客框架是Hexo.Hugo.Jekyll.本文详细介绍利用最新的Hugo(基于Go语言的博客框架)在windows上搭建个人博客网站,从域名注册到后期维护,全程保姆级 ...

  3. windows 10使用Pycharm从0到1搭建一个QQ聊天机器人保姆级教程【2023最新版】

    文章目录 选择Python环境 安装nb-cli 配置Go-cqhttp 大工告成! 选择Python环境 Nonebot2官方说,python版本要大于3.8,推荐大家使用虚拟环境,在Poetry. ...

  4. Node搭建多人聊天室

    博客初期准备使用的通讯,后被荒废. 使用的是nodejs-websocket,未使用socket.io 用来玩玩的东西,了解下通讯协议. 演示地址:socket.amayaliu.cn git地址:h ...

  5. 10分钟教对象搭建了一个多人聊天室~

    Demo演示 体验demo链接: http://socket.vjscoder.com/websocket-chatroom/index.html#/ 去github查看完整源码: https://g ...

  6. 保姆级教学——集群环境搭建及创建集群

    保姆级教学--集群环境搭建及创建集群 新建虚拟机 一些默认,加载镜像开启虚拟机,在安装位置选择自己目录,然后建立分区,首先添加 挂载点,类型标准分区,文件系统ext4 加载分区,期望给2G, 类型标准 ...

  7. [游戏服务器]第一章:多人聊天室-服务端

    游戏服务器 多人房间 高并发 低延时 数据可靠 ... 那么怎么去实现这些功能呢,下面我将会带着大家一起去探寻游戏服务器的奥秘 我不是巨人,我只是站在巨人的肩膀上 我将会分城多个章节去研究游戏服务器的 ...

  8. socket.io php 聊天室,WebSocket学习(一)——基于socket.io实现简单多人聊天室

    前言 什么是Websocket呢? 我们都知道在Http协议中,客户端与服务器端的通信是靠客户端发起请求,然后服务器端收到请求再进行回应,这个过程中,客户端是主动的,服务器端是被动的.Websocke ...

  9. 【转载】API:简单实现多人聊天室

    前言 API知识点:IO输入输出流.网络编程.多线程.多线程的并发安全问题的解决 IO输入输出流 前面讲到的变量.基本类型.对象等,它们在系统中存储的数据都是在内存中暂存的数据,当一个程序结束时,这些 ...

最新文章

  1. java rsa 存数据库_java – 如何创建RSA密钥对以便将其存储在数据库中?
  2. 从URL输入到页面展现,过程中发生了什么?
  3. apache+jk+tomcat集群+session同步
  4. http强制跳转https,POST请求变成GET
  5. 如何迁移完整SQL数据库到另外一台服务器
  6. java xml出错,Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException...
  7. nsct matlab,图像融合 NSCT算法 matlab
  8. python向量化和c哪个快_在python中向量化6 for循环累积和
  9. 怎样把java项目转换成web项目_Eclipse中将Java项目转换成Web项目的方法
  10. Shell脚本编程:使用shell打印九九乘法表
  11. linux目录架构及常用的基本命令
  12. zabbix mysql密码_重置Zabbix数据库Admin的密码
  13. 大数据分析双剑合璧:Apache Kylin 和 Superset
  14. HTML的基本知识(一)——标题标签
  15. 通过jquery 获取下拉列表中选中的值对应的value
  16. linux下安装配置nginx,Linux下安装与配置nginx
  17. python对象--加减重构
  18. Web Server
  19. Windows安装杜比音效驱动
  20. STM32入门开发: 采用IIC硬件时序读写AT24C08(EEPROM)

热门文章

  1. sku设计mysql_商品SKU功能设计与优化
  2. JZOJ-senior-5920. 【NOIP2018模拟10.21】风筝
  3. mysql 计算信度_SPSS操作:问卷的信度分析『克朗巴哈系数(Cronbach's α)』
  4. iOS后台运行NSTimer
  5. 神经反馈4——“组合”训练方案
  6. Corn表达式【定时任务】
  7. 写在大学毕业一周年之前
  8. 简单消息,异步消息,同步消息辨析
  9. flex froggy 青蛙跳荷叶的小游戏答案
  10. 事务的四个特性以及应用