Socket实现简易“多人聊天室”

Socket实现简易“多人聊天室”

一、了解

1、  简单介绍

websocket能够实现即时通讯和后台主动推送消息,但出于兼容性考虑,我们可以使用websocket的封装库 socket.io模块。此模块遵循socket协议。

2、  socket.io组成

l  socket.io

l  socket.io-client

二、实现流程

1、  新建一个自己文件夹,eg:socket_chat,在这个文件夹里新建两个子文件夹,分别用来装前端代码和后端代码。

 

2、  将放后端代码的back拖入vs code中,打开终端。

3、  安装express模块

yarn add express –S(或者 cnpm i express –S ,具体输入哪一条命令取决于你安装的是哪个,yarn和cnpm的安装速度相对npm来说要更快一些)。安装好后,可以从左边列表看到生成了如下文件:

 

4、安装socket.io模块

yarn add socket.io -S (或cnpm i socket.io –S,npm i socket.io -S)

安装好后,可以打开package.json,看到已经生成的生产依赖。

 5、在back目录下新建一个js文件,eg:server.js,单独构建一个socket服务器。

         

6、监听socket连接

 

7、构建前端页面,发送socket请求

 

8、用户点击按钮即向socket发送数据,客户前端向服务器后端发送消息

 

9、服务后端接受客户前端发来的消息,并且回复前端已经收到消息

  

10、客户端接受服务后端返回的消息

 

 11、后端转发前端发来的消息 

 

12、整理前端代码格式,并把后端发来的消息显示在页面上

 

13、到这里,已经建成一个可以发送信息的页面了,前端页面效果如下:

 

14、后端显示

 

15、不过,这只是个单人模拟多人聊天,真正要让用户都可以通过加入聊天室,只需要将127.0.0.1改为自己本机的IP,用户通过live-server插件进行访问,端口号为5500,大家就可以真正加入同一聊天室,一个简易的聊天室就搭建完成了。

原文地址:https://www.cnblogs.com/afafaa/p/11808128.html