Peanutssprouted
2022-02-09 14:11
采纳率: 0%
浏览 27

Vue使用websocket连接成功,但是数据发送不成功,哪位给解答一下

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
var websock = null
var globalCallback = null
 
 // 初始化websocket
function initWebSocket () {
  // ws地址 -->这里是你的请求路径
  var ws= ''
  websock = new WebSocket(ws)
  websock.onmessage = function (e) {
    websocketonmessage(e)
  }
  websock.onclose = function (e) {
    websocketclose(e)
  }
  websock.onopen = function () {
    websocketOpen()
  }
 
  // 连接发生错误的回调方法
  websock.onerror = function () {
    console.log('WebSocket连接发生错误')
  }
}
 
// 实际调用的方法
function sendSock (agentData, callback) {
    
  globalCallback = callback
  if (websock.readyState === websock.OPEN) {
    // 若是ws开启状态
    websocketsend(agentData)
  } else if (websock.readyState === websock.CONNECTING) {
    // 若是 正在开启状态,则等待1s后重新调用
    setTimeout(function () {
      sendSock(agentData, callback)
    }, 1000)
  } else {
    // 若未开启 ,则等待1s后重新调用
    setTimeout(function () {
      sendSock(agentData, callback)
    }, 1000)
  }
}
 
// 数据接收
function websocketonmessage (e) {
  globalCallback = e.data
  console.log(globalCallback)
}
 
// 数据发送
function websocketsend (agentData) {
    console.log(agentData)
  websock.send(JSON.stringify(agentData))
}
 
// 关闭
function websocketclose (e) {
  console.log('connection closed (' + e.code + ')')
}
 
// 创建 websocket 连接
function websocketOpen (e) {
  console.log('连接成功')
}
 
initWebSocket()
 
// 将方法暴露出去
export {
  sendSock
}

运行结果及报错内容

一直send不成功

我的解答思路和尝试过的方法
我想要达到的结果

1条回答 默认 最新

相关推荐 更多相似问题