抖音资讯

douyinzx

websocket前端怎么用(websocket推送消息给前端的小窍门)

iseeyu2年前 (2024-05-06)抖音资讯108

一、WebSocket 简介

http请求是前端和后端的最常见的交互模式:前端发数据请求,从后端拿到数据后展示到页面中。http协议也有一个最大的缺陷,就是后端没有主动权,不能主动向前端推送数据。 ​ 一种新的通信协议应运而生 WebSocket,它最大的特点就是服务端可以主动向客户端推送消息,客户端也可以主动向服务端发送消息,实现了真正的平等。

WebSocket 的其他特点:

​ 1.建立在 TCP 协议之上,服务器端的实现比较容易; ​ 2.与 HTTP 协议有着良好的兼容性; ​ 3.默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。 ​ 4,。数据格式比较轻量,性能开销小,通信高效; ​ 5.可以发送文本,也可以发送二进制数据; ​ 6.没有同源限制,客户端可以与任意服务器通信; ​ 7.协议标识符是ws(如果加密,则为wss),服务器网址就是 URL;

二、vue中的websocket使用

2.1 vue中使用 WebSocket 注意项

  1. 判断浏览器是否支持 WebSocket的协议和访问;
  2. 建立连接和断开连接的控制,在组件加载的时候 连接websocket,在组件销毁的时候 断开websocket;
  3. 服务器后端支持,后端接口需要引入 socket 模块,否则不能实现连接;

2.2 vue-socket.io安装和使用

简介

​ 我在vue中使用的vue-socket.io库,vue-socket.io 其实是在 socket.io-client 基础上做了一层封装,将 $socket 挂载到 vue 实例上,同时可使用 sockets 对象轻松实现组件化的事件监听,在 vue 项目中使用起来更方便。

安装:

npm i vue-socket.io

引入:

// main.js
import Vue from 'vue'
import store from './store'
import App from './App.vue'
import VueSocketIO from 'vue-socket.io'

Vue.use(
  new VueSocketIO({
    // 生产环境建议关闭,开发环境打开(在控制台看到socket连接和事件监听的信息)
    debug: true, 
    connection:'http://metinseylan.com:1992',
    options:{
      // 创建时是否自动连接 我们这里设定为false,在指定页面再开启
      autoConnect: false,
      // 路径(默认值:/socket.io/) 
      path: "/my-app/",
      // 目前有两种传输方式:HTTP long-polling(可简称:polling)、WebSocket
      transports: ['polling'],
      // 附加请求头(在服务器端的 socket.handshake.headers 对象中找到)
      extraHeaders:{},
    },
    vuex: {
      store,
      actionPrefix: 'SOCKET_',// vuex action 前缀
      mutationPrefix: 'SOCKET_', // vuex mutation 前缀
    },
  })
)

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

常见参数

类型

默认值

是否必选

描述

debug

Boolean

websocket前端怎么用(websocket推送消息给前端的小窍门)

false

可选择

为调试启用日志记录

connection

String / Socket.io-client

null

必要

Websocket 服务器 url 或 socket.io-client 实例

vuex.store

Vuex

null

可选择

Vuex store 实例

vuex.actionPrefix

String

null

可选择

发出服务器端 vuex 操作的前缀

vuex.mutationPrefix

String

null

可选择

发出服务器端 vuex 突变的前缀

组件内使用

<template>
  <div class="wrap">
    <button @click="socketEmit">连接Socket</button>
    <button @click="socketSendmsg">发送数据</button>
  </div>
</template>

<script> export default { data(){ return { randomId:null, } }, methods:{ //连接socket服务器 socketEmit(){ // 打开socket连接 this.$socket.open(); // 订阅事件,testCall 是与后端约定好的名称 this.sockets.subscribe('demoCall', (res) => { if(res.code == 200 && res.randomId === this.randomId){ console.log('召唤成功') } }) }, // 发送测试消息 socketSendmsg(){ this.userid = Math.random(); // testCall 是与后端约定好的名称 this.$socket.emit('demoCall', { "userid": this.userid, "deviceId": "123456" }); }, }, sockets: { connect: function () { console.log('连接成功') }, disconnect: function () { console.log('断开连接') }, reconnect: function () { console.log('重新连接') }, }, beforeDestroy(){ // 关闭 Socket this.sockets.unsubscribe('demoCall'); this.$socket.close(); }, } </script>

简单记录vue的vue-socket.io使用过程,希望对需要的各位有所帮助。

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://0291.com.cn/post/43347.html

相关文章

抖音里的图片怎么提取出来(提取抖音视频里面的文字的方法)

抖音里的图片怎么提取出来(提取抖音视频里面的文字的方法)

在所有功能中,选择视频提取图片功能,上传视频文件。   设置视频提取的速度,1秒1张、5张、10张。。。点击开始提取。   当获取到自己需要提取的图片,点击暂停提取,点击生成图片,可以预览第一张生成的效果,如果对图片有其他要求,...

企业如何做好抖音带货?8条实战经验分享,当老板的一定要看

企业如何做好抖音带货?8条实战经验分享,当老板的一定要看

企业做抖音1.企业想要做好短视频和直播带货,切记不要相信所谓的“专家”。大多“专家”讲起来一套一套的,但是缺少实战经验和对行业及产品的研究,所以不能落地。俗话说得好,没有实践就没有发言权。说起做抖音每个人都能讲几句,可是大多数停留在自嗨,都是他以为的东西。对于行家来讲,我不...

百度竞价推广怎么做?这3个方法让你轻松做营销

百度竞价推广怎么做?这3个方法让你轻松做营销

摘要: 百度竞价推广是一个平台渠道,严格说来更应该是一种工具,那么工具最终的效果其实和使用方法及技巧有着莫大的关系,掌握百度竞价推广的技巧,能让你有效控制成本,拒绝“暴发户式”盲目投放。 百度竞价是当前互联网营销中比较受品牌商家认可的一种营销方式,很多品牌商家都会借助百度竞价的方式宣...

快手投放广告的形式有哪些?广告创意重要吗?

快手投放广告的形式有哪些?广告创意重要吗?

投放广告的平台有很多,选择一个合适自己的平台是很有必要的,以快手投放广告为例,快手上线有近十年的时间,有很多的用户积累,人们在分享自己生活的同时,也对这款软件产生了依赖,因此,快手的用户相对来说比较稳定,并且用户的基数大,用户主要以九零后和八零后为主,这类人群都有了基本的消费能力,在快手投放广告一定...

社交电商平台有哪些(电商代运营十大公司排名)

社交电商平台有哪些(电商代运营十大公司排名)

随着年轻群体的消费崛起逆向给天猫平台带来了升级新变化,天猫平台将加速新锐品牌的孵化力度,今年完成50个年销售额超过千万的新锐品牌孵化。那么越来越多的品牌方开始入局天猫平台,随之衍生一批电商代运营服务商。从品牌服务商提供的核心服务来看,品牌服务商主要提供内容代运营服务和商品销售及服务。...

抖音投诉商家怎么弄(投诉商家最狠的方法)

抖音投诉商家怎么弄(投诉商家最狠的方法)

打开抖音,点击我。点击三横线处。点击我的客服。点击意见反馈。输入买东西被骗事件的详细信息,留下联系方式,点击提交,让抖音客服帮助解决。 随着经济的发展,购物方式越来越丰富,不出门就可以购物。随着微商、代购等的出现,购物损害赔偿纠纷愈来愈多,对于微信购物的损害该如何索赔呢? 对于微信购物可...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片