vue node 部署,vue web socket

  vue node 部署,vue web socket

  本文主要介绍vue节点socket io实现多人交互和在线发布的全过程。本文向您概述了socket.io的相关用法和开发过程。有需要的朋友可以参考一下。

  

一、背景

  1.前端使用vuevuxsocket.io-client。

  npm安装套接字. io-client - save-dev

  2.后端使用node express套接字

  1.构建节点开发环境。

  npm初始化-y

  安装所需的依赖项

  npm快速安装-保存-开发

  npm安装套接字. io-client - save-dev

  

二、 socket.io相关用法概览

  1.发送事件

  Socket.emit(事件名称,数据={

  //data是要传输的数据,可以是布尔值、字符串、数字、对象等。

  })

  2.监控事件

  Socket.on(发送时的事件名称,data={

  //data发送事件中的数据。

  })

  3.广播事件

  //发送给其他用户(不是自己)

  Socket.broadcast.emit(事件名称,数据={

  //data是要传输的数据,可以是布尔值、字符串、数字、对象等。

  })

  

三、开发流程

  1.在前端创建一个新的socket.js文件来接收与套接字相关的事件,如下所示

  //介绍socket.io-client

  从“socket.io-client”导入io

  //创建链接

  const socket=io()

  //监控

  socket.on(connect ,()={

  Console.log()已成功连接到服务器!)

  })

  ===========中间部分用于监听后端发送的套接字事件,例如:====================

  //进入房间

  socket.on(enter_room ,(data)={

  //必要的数据可以存储在存储器中。

  localStorage.setItem(counts ,JSON.stringify(data))

  store.commit(setData ,JSON . parse(local storage . getitem( data ))

  })

  //处理服务丢失连接

  socket.on(disconnect ,()={

  console.log(断开)

  })

  2.后端相关代码

  const app=require(express )()

  const http=require(http )。服务器(应用程序)

  var io=require( socket . io )(http)

  let onlineUsers={}

  让用户=[]

  设onlineCounts=0

  io.on(连接,套接字={

  //用户进入游戏

  socket.on(enter ,(data)=0

  //添加用户信息

  const sid=socket.id

  socket.name=data.name

  //添加新用户

  如果(!online users . hasownproperty(data . name)){

  onlineUsers[data.name]=sid

  在线计数

  }

  如果(!users.length) {

  users.push({

  名称:onlineUsers[sid]

  })

  }

  //当前人数

  let clients count=io . sockets . server . engine . clients count

  //将用户列表发送给当前用户(对应前端监控enter_room的代码)

  io.emit(enter_room ,{

  角色:数据.角色,

  用户,

  在线计数

  })

  //将新用户发送给其他用户(而不是自己)

  socket.broadcast.emit(用户输入,数据.名称)

  })

  })

  //后端打开监控端口,前端通过在proxyTable配置代理将前端数据与后端服务器连接起来。

  http.listen(port,()={

  Console.log(后端服务器启动成功!)

  })

  

四、发布上线

  1.前端:

  1)安装http-server,然后链接服务器,进入服务器后拉远程仓库的前端代码(一般是从服务器的www目录)。如果没有代码被克隆,您需要在下载之前在服务器中配置公钥。

  公钥配置

  Ssh-keygen -t rsa -C 您的邮箱

  生成公钥后,进入公钥生成的文件目录,复制到代码托管平台。添加公钥后,您可以克隆代码。

  2)封装前端代码,生成dist文件

  npm运行构建

  3)输入dist,执行命令启动前端。

  2 pm2启动http-server - -p指定端口号

  4)前端访问、服务器地址和端口号

  2.后端:

  1)和前端一样(不安装http-server),进入服务器后,拉远程仓库的前端代码(一般是从服务器的www目录)。如果代码没有被克隆,您需要在下载之前在服务器中配置公钥。

  2)执行命令

  2 pmstartindex.js(文件入口,如果你的app.js是文件入口,执行app . js)---p指定端口号。

  注意:

  socket.io在线发布时,前端要把socket.io代理地址端口改成后端端口;否则,它将报告404。更改位置如下(这里,我的后端端口是3000)

  2.nginx需要修改socket.io的代理转发地址,否则会报告404。

  1.补充1.pm2通用说明

  Pm2列表//查看pm2启动列表

  Pm2 stop指定当前端口下的端口号//Stop pm2

  PMRestart指定指定端口的端口号//Restart pm2

  Pm2删除指定端口号//删除当前窗口下的pm2

  2pm Start http-server/index . js-PS指定端口号//启动相应的前端和后端。

  2.nginx在命令行中的相关说明

  Cd /nginx指定目录

  catinx . conf//查看nginx文件的内容

  Vim nginx.conf //编辑nginix。注意进入后用‘I’编辑模式;u 取消以前的编辑;“Esc”退出编辑模式;Shift:保存并退出

  至此,按照上面的步骤,就可以进行任何类型的socket相关的开发了。去试试吧,记得给有问题的朋友留言_

  关于vue node socketio如何实现多人互动,发布全在线流程的文章到此结束。更多关于vue socketio如何实现多人互动的信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: