You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native集成SignalR通过websocket连接时出现wss地址无法解析错误

报错原因

URL协议头重复导致地址无法解析。你定义的hubUrl值为wss://http://xxxx.yyy.net/ws,同时拼接了wss://和http://两个协议前缀,属于非法URL格式,因此SignalR无法解析目标连接地址。

修复方案
  • 移除URL中多余的协议前缀:如果你的服务走HTTPS加密,WebSocket对应地址为wss://xxxx.yyy.net/ws;如果是本地调试的HTTP未加密服务,对应地址为ws://xxxx.yyy.net/ws。
  • 更简便的写法:signalR.HubConnectionBuilder的withUrl方法内置协议自动适配逻辑,直接传入HTTP/HTTPS格式的Hub地址即可,不需要手动拼接ws/wss前缀,它会自动选择对应的WebSocket连接方式。
修正后代码
constructor(props) {
  super(props);

  this.state = {
    message: "No messages.",
  };

  this.messageReceived = this.messageReceived.bind(this);

  // 直接传入HTTPS地址即可,无需手动加wss前缀
  const hubUrl = 'https://xxxx.yyy.net/ws';

  const connectionHub = new signalR.HubConnectionBuilder()
    .withUrl(hubUrl)
    .configureLogging(signalR.LogLevel.Information)
    .build();

  connectionHub.on("ReceiveMessage", this.messageReceived);
  connectionHub.start().catch((err) => this.logError(err));

  this.connection = connectionHub;
}

内容的提问来源于stack exchange,提问作者Uzaq Sahillərdə

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 15:06:20