精华内容
下载资源
问答
  • 2020-12-23 22:12:23

    常规的连接方法

    websocket () {

    let ws = new WebSocket('ws://localhost:8080')

    ws.onopen = () => {

    // Web Socket 已连接上,使用 send() 方法发送数据

    ws.send('Holle')

    console.log('数据发送中...')

    }

    ws.onmessage = evt => {

    // console.log('数据已接收...')

    }

    ws.onclose = function () {

    // 关闭 websocket

    console.log('连接已关闭...')

    }

    // 路由跳转时结束websocket链接

    this.$router.afterEach(function () {

    ws.close()

    })

    }

    根据上面的方法名字可以知道,上面的函数都是,相对应的回调函数,比如,omopen指的就是连接成功后的回调

    具体项目中的完整方法代码

    server.js 是请求接口的封装,先实例化了一个websocket的请求,我把websocket的请求封装成了一个公共方法,放在request.js里

    import request from './request'

    import { wsUrl } from '../../../config'

    const ws = new WebSocket(wsUrl)

    export default {

    list (cb) {

    let attr = {

    'obj': 'homeMenu',

    'act': 'list'

    }

    request.requestData(ws, attr, cb)

    },

    homeArticleList (page = 1, limit = '10', cb) {

    let attr = {

    'obj': 'homeArticle',

    'act': 'list',

    'page': page,

    'limit': limit

    }

    request.requestData(ws, attr, cb)

    },

    articleByMenuId (id, page = 1, limit = '10', cb) {

    let attr = {

    'obj': 'articleByMenuId',

    'act': 'list',

    'menuId': id,

    'page': page,

    'limit': limit

    }

    request.requestData(ws, attr, cb)

    },

    articleInfoByMenuId (id, cb) {

    let attr = {

    'obj': 'articleByMenuId',

    'act': 'info',

    'menuId': id

    }

    request.requestData(ws, attr, cb)

    },

    article (id, cb) {

    let attr = {

    'obj': 'article',

    'act': 'get',

    'articleId': id

    }

    request.requestData(ws, attr, cb)

    },

    websocket (cb) {

    let attr = {

    'obj': 'homeMenu',

    'act': 'list'

    }

    request.requestData(ws, attr, cb)

    }

    }

    request.js

    window.apiCallback = []

    let requestData = (ws, attr, cb) => {

    init(ws)

    window.console.info('send:', JSON.stringify(attr))

    // 发送信息

    window.apiCallback[attr.obj + '_' + attr.act] = function (data) {

    if (data.ustr) {

    alert(data.ustr)

    } else if (cb) {

    cb(data)

    }

    }

    if (ws.readyState === 1) {

    let sendStr = JSON.stringify(attr) + '\n'

    ws.send(sendStr)

    }

    ws.addEventListener('open', function () {

    let sendStr = JSON.stringify(attr) + '\n'

    ws.send(sendStr)

    })

    }

    function init (ws) {

    ws.onmessage = evt => {

    console.log('数据已接收...')

    let parseData = evt.data.replace(/[\s\r\n]+$/, '').split('\n')

    parseData.splice(0, 1)

    parseData = JSON.parse('[' + parseData.join(',') + ']')

    let key = parseData[0].obj + '_' + parseData[0].act

    if (window.apiCallback[key]) {

    window.apiCallback[key](parseData[0])

    }

    }

    ws.onclose = function () {

    // 关闭 websocket

    console.log('连接已关闭...')

    }

    }

    let close = (ws) => {

    ws.close()

    }

    export default {

    requestData,

    close

    }

    上方有一处关键的地方:

    // 判断websocket的连接状态,当未 1 时,证明连接成功,方可发起请求

    if (ws.readyState === 1) {

    let sendStr = JSON.stringify(attr) + '\n'

    ws.send(sendStr)

    }

    // 首次页面加载的时候,则需要监听websoket的状态是不是处于open状态

    ws.addEventListener('open', function () {

    let sendStr = JSON.stringify(attr) + '\n'

    ws.send(sendStr)

    })

    上面的问题如果不做处理则会出现下图的报错

    image.png

    通常在实例化一个websocket对象之后,客户端就会与服务器进行连接。但是连接的状态是不确定的,于是用readyState属性来进行标识。它有四个值,分别对应不同的状态:

    CONNECTING:值为0,表示正在连接;

    OPEN:值为1,表示连接成功,可以通信了;

    CLOSING:值为2,表示连接正在关闭;

    CLOSED:值为3,表示连接已经关闭,或*者打开连接失败。

    更多相关内容
  • 今天由于公司需要,新建的一个mq,新的mq在交换机,队列,host等基本上和之前的mq一模一样,今天和前端调试的时候,前端一直连接mq的时候一直报错 排查的时候发现是在订阅的时候报错了,连接是可以连接成功,把下面前端的...
  • vue和html两种方式实现连接rabbitMQ实时接收发送消息,亲测可用!

    项目场景:

    项目中前端要通过rabbitMQ来进行实时接收消息数据,这里我只展示了vue如何接收数据,html可接收发送数据,HTML方式是转自某大佬,具体代码如下:


    1.vue安装插件

    npm install --save webstomp-client
    npm install stompjs -S
    

    2.新建js文件

    提示:为了方便之后数据修改,建议直接在js文件里定义好数据导出进行引用,以下是新建的js文件里存放的内容:

    export const PROTOCOL = 'ws'     //连接协议
    export const IP = '127.0.0.1'  //ip
    export const PORT = '8080'      //端口
    export const ADDRESS = 'ws'  
    export const ACCOUNT = 'admin'   //账号
    export const PASSWORD = '123456'  //密码
    

    3.在vue页面把该文件引入:

    import { PROTOCOL, IP, PORT, ADDRESS, ACCOUNT, PASSWORD, SUBSCRIPT } from '@/utils/message'
    

    4.在data中定义

    export default {
      data() {
        return {
        	address: '',
        	client: null
        }
      }
    }
    

    5.挂载到mounted

    mounted(){
        this.address = PROTOCOL + '://' + IP + ':' + PORT + '/' + ADDRESS;
        this.connect();
      },
    

    6.方法

    //连接
    methods:{
        connect() {
          this.client = webstomp.client(this.address)
          this.client.connect(ACCOUNT, PASSWORD, () => {
            console.info('连接成功!')
            // 连接成功跳转方法
            this.subscribe()
          }, (e) => {
            console.info('连接失败!')
            // 失败跳转方法
            this.error()
          })
        },
        subscribe(){
          this.client.subscribe("路由消息", (data)=> {
          // data接收的是json类型的数据,所以要进行转换
            var message = JSON.parse(data.body)
            // 数据拿到之后可对数据进行操作
            
          })
        },
        error(err){
          console.log('err',err)
        },
    }
    

    7.运行结果

    提示:下面就是连接成功之后显示的内容,后可以让后端发送消息打印到控制台查看获取的数据:

    在这里插入图片描述

    这是分割线-------------------------------------------------

    以下是html文件连接rabbitMQ,亲测可用!

    <!DOCTYPE HTML>  
    <html>  
    <head>  
        <meta http-equiv="content-type" content="text/html" />  
        <meta name="author" content="https://github.com/jice1001" />  
        <title>websocket test</title>
    	  <script src="https://cdn.bootcss.com/stomp.js/2.3.3/stomp.js"></script>
    	  <script src="https://cdn.bootcss.com/sockjs-client/1.1.4/sockjs.js"></script>
        <script>
            var socket;
    		function Connect(){  
    			try{  
    			    let client = new WebSocket(document.getElementById("urls").value);
    			    client.onopen = sOpen;
    			    client.onerror = sError;
    			    client.onmessage = sMessage;
    			    client.onclose = sClose;
    			    socket = client;
    			}catch(e){  
    				alert('error');  
    				return;  
    			}  
    		}  
    		function sOpen(){
    			alert('connect success!');
    		}
    		function sError(e){
    			alert("error " + e);
    		}
    		function sMessage(msg) {
    			console.log('message',msg)
    		    doReceive(msg.data);
    		}
    		function sClose(e){
    			alert("connect closed:" + e.code);
                socket.close();
    		}  
    		function Send(){
    			socket.send(document.getElementById("msg").value);
    		} 
    		function Close() {
    		    socket.close();  
    		} 
    		function doReceive(buffer) {
    		    console.log("doReceive:",buffer);
    			console.info('123',JSON.parse(buffer))
    		    // blob:待读取的blob对象   -- https://www.jianshu.com/p/72f12d27d3ba
    			// let a = buffer.text()
    		 //    a.text().then(data => {
    		 //        // data:指成功读取到的内容
    		 //        console.log(data);
    		 //        alert('server says:' + data);  
    		 //    }).catch(err =>{
    		 //        //err: 指读取失败后返回的错误内容
    		 //        alert('no understand server says');
    		 //    }) 
    		};
    	</script>
    </head>  
       
    <body>
        <input id="urls" type="text" value="ws://'ip地址':'端口地址'/websocket">
        <input id="msg" type="text">
        <button id="connect" onclick="Connect();">Connect</button>
        <button id="send" onclick="Send();">Send</button>
        <button id="close" onclick="Close();">Close</button>
    </body>  
       
    </html>  
    

    以上html文件是转载自其他大佬,如有侵权联系可删除,详情链接放在这里啦

    链接: https://blog.csdn.net/glc22/article/details/119779632

    展开全文
  • 前端实现WebSocket即时通讯

    千次阅读 2021-07-16 12:45:55
    要实现客户端与服务器端的通信,最常接触的是http(https)协议,http通信只能是客户端发起请求,服务器响应。服务器不能主动向客户端传递消息。 HTTP 协议无法做到服务器...WebSocket 协议没有同源限制,即WebSocke

    要实现客户端与服务器端的通信,最常接触的是http(https)协议,http通信只能是客户端发起请求,服务器响应。服务器不能主动向客户端传递消息。
    HTTP 协议无法做到服务器主动向客户端推送信息,2008年诞生的WebSocket 协议可以实现客户端与服务器端的双向对话,即:服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息。

    • WebSocket 协议的底层协议也是TCP协议
    • WebSocket 协议的标识符为ws,加密后为wss
    • WebSocket 协议没有同源限制,即WebSocket 协议可以跨域通信
    • WebSocket 协议是有状态的,是前后端交互的长连接,即建立连接后可以保持连接状态,通信时可以省略部分状态信息
    • WebSocket 协议可以发送文本,也可以发送二进制数据

    客户端实现

    客户端可以通过WebSocket 构造函数创建WebSocket 对象创建和管理 WebSocket 连接,并通过该连接发送和接收数据的 API。
    在这里插入图片描述

    属性说明
    readyState当前 WebSocket 的链接状态 , 0:正在链接中 1:已经链接并且可以通讯 2:连接正在关闭 3;连接已关闭或者没有链接成功
    onopen连接成功后的回调
    onerror连接失败后的回调
    onmessage从服务器接受到信息时的回调
    onclose连接关闭后的回调
    const webSocket = new WebSocket('ws://localhost:5001')
    
    webSocket.onopen = function () {
      console.log('连接成功...')
      webSocket.send('Hello!')
    }
    webSocket.onerror = function () {
      console.log('连接失败...')
    }
    webSocket.onmessage = function (event) {
      console.log('接收到消息...' + event.data)
    }
    webSocket.onclose = function () {
      console.log('连接已关闭...')
    }
    

    更详情的WebSocket对象参考:https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket

    WebSocket重连

    由于网络的不确定性和websocket自身的问题,页面长时间打开的情况下有时会发生websocket连接的断开,为了避免这类情况引起的程序问题,可以让WebSocket对象每间隔一段时间和服务器通信一次,一旦发生异常,则重新建立连接,称为心跳检测机制,形象的说就是客户端和服务端通过发送心跳向对方证明自己还活着。

    var lockReconnect = false // 是否允许重新连接
    var timeout = 1000 * 20 // 心跳间隔
    var reTimeout = 1000 * 10 // 重连间隔
    var timeoutTimer = null // 心跳定时器
    var reTimeoutTimer = null // 重连定时器
    var webSocket = null
    
    function heartCheckStart () {
      timeoutTimer = setTimeout(function () {
        webSocket.send('HeartBeat')
      }, timeout)
    }
    
    function heartCheckReset () {
      clearTimeout(timeoutTimer)
      heartCheckStart()
    }
    
    function createWebSocket () {
      webSocket = new WebSocket('ws://localhost:5001')
      webSocket.onopen = function () {
        console.log('连接成功...')
        heartCheckStart()
      }
      webSocket.onerror = function () {
        console.log('连接失败...')
        reConnect()
      }
      webSocket.onmessage = function (event) {
        console.log(event.data)
        heartCheckReset()
      }
      webSocket.onclose = function (event) {
        console.log('连接已关闭...')
        console.log('websocket 断开: ' + event.code + ' ' + event.reason + ' ' + event.wasClean)
        reConnect()
      }
    }
    
    // 重连
    function reConnect () {
      if (lockReconnect) {
        return
      }
      lockReconnect = true
      // 没连接上会一直重连,设置延迟避免请求过多
      reTimeoutTimer && clearTimeout(reTimeoutTimer)
      reTimeoutTimer = setTimeout(function () {
        createWebSocket()
        lockReconnect = false
      }, reTimeout)
    }
    
    createWebSocket()
    

    服务器端实现

    真实的项目中服务器端是由专人负责的,为了模拟真实的通信过程,这里简单用node搭建一个服务来实现WebSocket通信。

    node搭建WebSocket服务器

    要确保安装node,安装node运行环境,请下载node 安装包进行安装

    一、新建文件夹demo,然后用npm init命令新建一个项目ws-demo

    mkdir demo
    cd demo
    npm init
    

    二、安装依赖ws

    npm install ws
    

    三、修改入口文件index.js

    const WebSocket = require('ws') 
    
    const ws = new WebSocket.Server({ port: 5001 })
    ws.on('connection', ws => {
      console.log('server connection')
    
      ws.on('message', msg => {
        console.log('服务端接收的消息:', msg)
        ws.send('HeartBeat')
      })
    
      ws.send('连接已建立')
    })
    

    四、运行index.js

    node index.js
    
    展开全文
  • 在网上找的代码,代码来源:https://www.cnblogs.com/chenbenbuyi/p/10779999.html, 按照这个运行以后在网页输入用户名点击加入聊天,开发者... !... 在网上也没有找到解决办法,希望哪位大佬能帮忙看一下,非常感谢
  • websocket如何实现右下角全局通知弹窗

    websocket如何实现右下角全局通知弹窗

    博主用的技术栈为vue3.0+js+elementui

    什么是websocket

    谈谈我个人理解,我理解这实际上就是双向奔赴啊,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息。这里不做过多的逼逼了,具体看大佬写的:https://www.cnblogs.com/nnngu/p/9347635.html

    具体思路

    需求是首先我们要连接上websocket,其次根据websocket返回的结果并展示出弹窗内容。那怎么连呢?怎么用呢?看下文上干货。

    步骤一

    一、在App.vue的入口文件中创建websocket方法并在mounted生命周期中使用。

    有几个注意事项
    1.https是加密形式的,所以websocket用的是wss开头,http就用ws,下面做了一层根据url域名的判断,因为我们后端持续集成只有一个环境,打包配置没有分成test和master。
    2.websocket连接上后里面有好多种内置的方法和属性:

    1//连接成功建立的回调方法 
    		websocket.onopen 
    (2//接收到消息的回调方法  
    		websocket.onmessage
    (3//连接发生错误的回调方法 
    		websocket.onerror 
    (4//连接关闭的回调方法 
    		websocket.onclose 
    (5//向服务器发送数据的方法 
    		websocket.send
    (6// 属性返回实例对象的当前状态: 0----正在连接,1----连接成功,2----正在关闭,3----连接关闭或者打开失败
    		websocket.readyState
    

    我们最主要的用onopen和onmessage,这个一个是连接,一个是能捕获到websocket回传的数据

    了解更多方法和属性请参考大佬:https://www.ruanyifeng.com/blog/2017/05/websocket.html

     createWebSocket: function () {
          let websocketHeader = ''
          let websocketUrl = ''
          // 配置不同环境请求接口
          if (window.location.hostname === 'localhost') {
            // 开发环境
            websocketHeader = 'ws'
            websocketUrl = '开发环境的域名'
          } else if (window.location.host === '测试环境的域名') {
            // 测试环境
            websocketHeader = 'ws'
            websocketUrl = window.location.host
          } else if (window.location.host === '生产环境的域名') {
            // 生产环境
            websocketHeader = 'wss'
            websocketUrl = window.location.host
          }
    
          let that = this;
          if ("WebSocket" in window) {
            // 下面这个地址因你们后端而异,不一定和我的一样
            that.ws = new WebSocket(websocketHeader + '://' + websocketUrl + '/api/websocket/' + sessionStorage.getItem('token'));
            // console.log(that.ws);
            that.Websocket.setWs(that.ws);
            // 开启 websocket
            that.ws.onopen = function () {
              //开启心跳
              that.start();
            };
          } else {
            // 浏览器不支持 WebSocket
            console.log("您的浏览器不支持 WebSocket!");
          }
        },
        //开启心跳
        start () {
          let that = this;
          // 0----正在连接,1----连接成功,2----正在关闭,3----连接关闭或者打开失败
          that.timeoutObj = setTimeout(function () {
            //这里发送一个心跳,后端收到后,返回一个心跳消息,
            if (that.ws && that.ws.readyState == 1) {
              //如果连接正常
              that.ws.send('心跳ing');
            } else {
              //否则重连
              that.createWebSocket();
            }
    
          }, 500000)
        }
    

    步骤二

    怎么用呢?

    在你提交请求的那个接口里,加上一个调用接受websocket消息的方法即可,类似于埋点,你哪里用就在哪写一个~

      // 点击确认修改按钮
        clickConfirmButton: function () {
          instance.post(APPROVAL_HUMAN_RESOURCE_DEPARTMENT_MANAGEMENT_VIP_DSICOUNT_LIST + `?billnos=${this.activeId}`).then((response) => {
            // 响应状态码
            let code = response.data.code
            // 响应内容
            let msg = response.data.msg
            if (code !== CORRECT_STATUS_CODE) {
              this.$globalToast.popupMessage(msg, 4, 2000)
            } else {
              let successMsg = '审核已提交'
              this.$globalToast.popupMessage(successMsg, 2, 2000)
              // 调用接收websocket消息的方法
              this.receiveWebsocketMsg()
              // 父组件重新获取数据
              this.$props.getPageData()
              // 关闭弹窗
              this.popupWindowStatus = false
              // window.location.reload()
            }
          })
        },
     // 接收websocket消息的方法
        receiveWebsocketMsg () {
          let that = this;
          that.Websocket.ws.onmessage = function (res) {
            let message = JSON.parse(res.data)
            // 全局通知:elementui的方法,自己去看文档
            that.$notify.info({
              title: '提示',
              message: message.title,
              duration: 10000,
              position: 'bottom-right'
            });
          };
        },
    

    element文档链接:

    https://element.eleme.cn/#/zh-CN/component/notification

    还有用原生写的,参考下链接:
    (我是没看太懂)
    https://blog.csdn.net/weixin_36485956/article/details/78007907

    效果图有:
    类似酱紫的效果就有啦!
    公司具体的效果图就不给大家看了,就是element中展示的这样类似的效果,只不过文字是通过websocket请求回来的,很简单吧!

    如果你有更好的意见和建议,更好的实现方法,请在评论区和我交流吧!

    展开全文
  • 这个时间有没有方法可以设置问题出现的环境背景最近项目中用到了websocket,但是连接地址的端口不确定,因此前端需要从某个端口(例如ws://127.0.0.1:9000)开始累加去建立连接,然后通过onerror事件判断连接是否成功...
  • Nginx常规的代理转发配置是不支持websocket协议的。 本节主要介绍如何让Nginx代理支持websocket协议。 一、Nginx官网说明 Nginx对websocket协议的支持: http://nginx.org/en/docs/http/websocket.html location /...
  • websocket 是服务器推送技术的一种,最大的特点是服务器可以主动向客户端推送消息,客户端也可以主动向服务器发送消息。 特点: 建立在 TCP 协议之上,服务器端的实现比较容易。 与 HTTP 协议有着良好的兼容性。...
  • 无法连接的解决办法: 1. 把下面设置存成reg文件导入 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols] [HKEY_LOCAL_...
  • websocket 心跳连接

    2019-04-20 14:39:38
    前端实现 websocket心跳连接 支持心跳检测和心跳重连
  • Websocket出现的错误

    万次阅读 2021-01-14 03:14:22
    前端使用sockjs,后台使用spring的websocket框架结果在一个网络较慢的地方,发现tomcat报错信息:Oct 28, 2015 10:10:43AM org.apache.catalina.core.StandardWrapperValve invokeSEVERE: Servlet.service()for ...
  • 前端WebSocket的使用

    2020-07-29 09:20:23
    websocket的API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 基本使用 // 连接服务器 var ws = new WebSocket("") // 连接成功触发 ws.onopen = ...
  • 3、websocket中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 2.activeMQ 1、MQ:Message Queue 消息队列,就是用来在系统之间进行消息传递的。 2、MQ俗称消息队列...
  • vue3 websocket 链接失败

    2022-03-16 11:45:43
    { // //页面销毁时关闭长连接 // window.addEventListener("beforeunload ", () => { // this.socketServe.websocketclose(); // }); }, mounted() { }, unmounted() { // this.socketServe.websocketclose(); }, ...
  • WebSocket 连接失败,报错400

    千次阅读 2021-02-19 10:56:13
    WebSocket 连接失败,报错400 WebSocket握手期间出错,响应码:400。 出现原因:可能你的应用程序版本低于nginx。 我的解决方式:告诉nginx在和服务端通信的时候,使用http/1.1,并且Nginx当想要使用WebSocket时由...
  • 下面小编就为大家带来一篇完美解决spring websocket自动断开连接再创建引发的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 本文从网络协议,技术背景,安全和生产应用的方向,详细介绍 WebSocket 在 Node.js 中的落地实践。 大纲预览 本文介绍的内容包括以下方面: 网络协议进化 Socket.IO? ws 模块实现 Express 集成 WebSocket ...
  • WebSocketDemo

    2017-09-15 09:58:28
    完整的WebSocketDemo,适合新人下载来学习。包括服务器端和前端程序。稍作更改即可实现基于web的实时通信。
  • websocket建立连接有些时候能成功,有些时候不能成功。 连接成功并订阅主题后,有些时候能成功收到后台推送的消息,但是大多数时候不能收到,后台消息一直在推送。... console.log("WebSocket连接失败!") }); ```
  • vue+websocket+Stomp组件实现前端连接

    千次阅读 2022-03-20 11:47:43
    *作用:作为项目中的配置文件,放了websocket连接的url,用户名(admin),密码(123456) *项目中基础API等一些配置参数 * ================================== */ /* eslint-disable */ (function (global, ...
  • 项目部署到iis上以后,外网访问可以登录成功,但websocket连接失败,局域网访问时,websocket连接成功接收数据包。本机固定ip:192.1.1.102 联通拉的专线固定ip: 25.1.1.1;路由器端设置分配给本机的固定ip:192.1....
  • Unity 连接ws,不用任何插件,忙活了一天终于搞定了,一直连接不上,原来是没有添加header, 代码比较简单,直接贴出来普度众生 1 2 3 4 5 6 7 8 9 10 11 12 ...
  • 项目需求,java端连接C#,想在前台处理订阅消息,用了websocket和mqtt,查了一上午,因为本机没有node.js,关于paho-mqtt.js的例子连接不了,比如301错误码、什么二进制数据、decode、握手失败等等,后来看了源码,...
  •   首先说明我的问题,我使用的前端框架是vue,为了防止出现跨域,且还在开发状态,所以我是用了vue的代理端口,后端使用的springboot来接收websocket请求,然后就出现了一个问题,当我用chrome浏览器向后端发送一...
  • WebSocket 前端 Vue 长连接 断线重连

    千次阅读 2019-07-12 00:36:09
    文章目录WebSocket简介额外注意点实际开发代码创建WebSocket工具文件创建WebSocket连接初始化WebSocket心跳防止断开连接收到信息后区分业务信息和心跳信息定义关闭连接的方法,方便登出时使用将关闭和创建连接的方法...
  • Stomp以wss方式连接websocket 一、问题描述   项目中遇到使用stomp连接websocket,当使用ws://ip:port/ws协议来连接时没有问题,但是放到服务器上却报如下错误: Mixed Content: The page at ‘https://ip:port/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,307
精华内容 2,522
关键字:

前端连接websocket失败

友情链接: epdkusive_selection.rar