剑亦未配妥 2024-05-21 16:20 采纳率: 100%
浏览 31
已结题

配置了socket合法域名后还是无法连接,如何解决?(相关搜索:微信小程序)

使用uniapp微信小程序连接websocket时,一直连接不上,apifox测试成功连接

img

相关代码是这样的

const initWebpack = function () {
  let sockTask = uni.connectSocket({
    url: '',  //示例地址
    header: {
      'content-type': 'application/json',
      Connection: 'Upgrade',
      Upgrade: 'websocket'
    },
    method: 'GET',
    protocols: [],
    success: (res) => {
      console.log('链接成功', res)
    },
    fail: (res) => {
      console.log('链接失败', res)
    },
    complete: (res) => {
      console.log('链接完成', res)
    }
  })
  console.log(sockTask)
  // 发送消息
  const sendMessage = function (messageData: any) {
    uni.sendSocketMessage({
      data: JSON.stringify(messageData), // 将数据转换为JSON字符串
      success: (res) => {
        console.log('消息发送成功', res)
      },
      fail: (err) => {
        console.error('消息发送失败', err)
      }
    })
  }
  // 示例:发送一条消息
  const sampleMessage = {
    Type: 1,
    ToUID: 1001,
    Pid: 'ICPcUS',
    Content: '测试消息'
  }
  sendMessage(sampleMessage)
}

同时我也在vite.fonfig.js文件中进行了相关配置

export default defineConfig({
  plugins: [uni()],
  server: {
    host: '0.0.0.0',
    port: 8888,
    client: {
      websocketURL: ''  //示例
    },
    headers: {
      'Access-Control-Allow-Origin': '*'
    }
  },
  transpileDependencies: true
})

我本以为是微信小程序平台的一些限制问题,配置了socket合法域名后还是无法连接,求赐教

  • 写回答

2条回答 默认 最新

  • 关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    考虑到已经配置了合法域名,那么出现无法连接的问题可能有以下几种情况:

    1. 代码中使用了错误的url

    需要检查代码中 uni.connectSocketurl 是否写成了正确的形式,示例地址只是一个占位符,需要替换为实际的地址,如 wss://example.com/websocket

    1. 配置了插件但并未正确注册

    需要检查 vite.config.js 文件中是否成功注册了插件,示例中注册了uni插件,在配置项中进行了相关配置。

    1. 小程序平台相关限制

    需要检查小程序开发文档,看看是否有相关限制。当前版本需要配置socket合法域名,并且 wx.connectSocket 中的 protocols 参数必须为空数组。

    解决方案:

    1. 检查代码中使用的url是否正确;
    2. 确认是否成功注册了插件;
    3. 了解小程序平台的相关限制并注意遵守,如空数组协议等;

    注意:连接socket时,要保证服务器端已经启动了websocket,而服务器端的websocket也必须支持websocket协议。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月5日
  • 已采纳回答 6月27日
  • 创建了问题 5月21日

悬赏问题

  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音