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

Flutter中Socket自动添加端口0问题及移除方法咨询

Flutter Socket连接自动附加端口0的问题解决

问题原因

出现自动添加端口0的情况,主要是这两个原因:

  • 你显式指定了HTTPS的默认端口443,但socket_io_client旧版本的URL解析逻辑存在bug,错误地将默认端口识别为非标准端口,后续处理时附加了无效的端口0。
  • 客户端内部在处理带默认端口的地址时,出现了端口拼接逻辑错误。

解决方法

  • 直接省略默认端口:HTTPS协议的默认端口就是443,不需要手动指定,去掉URL里的:443后,客户端会自动使用正确的端口,不会再附加端口0。修改后的代码:
socket = io('https://SITE_DOMAIN',
        OptionBuilder()
          .setTransports(['websocket'])
          .build()
  );
  • 升级socket_io_client版本:如果必须保留端口指定,先检查你的依赖版本,旧版本的端口解析bug在新版中已经被修复,升级到最新稳定版即可解决问题。
  • 手动指定socket路径:如果服务端的socket路径有特殊配置,可以通过setPath参数明确指定,避免客户端自动拼接端口时出错:
socket = io('https://SITE_DOMAIN',
        OptionBuilder()
          .setTransports(['websocket'])
          .setPath('/socket.io/') // 替换为你服务端实际的socket路径
          .build()
  );

内容的提问来源于stack exchange,提问作者Hassan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 11:50:45