你刚连上 DApp,切出去回了个消息,回来一看又断开了。再连,过几分钟又掉。这时候你大概率在两个原因之间摇摆:是钱包会话到时间了?还是我家网络今天不行?
答案是:如果你什么都没做,连接自己就断了,90% 的情况是 WalletConnect 的 WebSocket 连接被中断,而不是"会话过期"。钱包的会话过期机制通常需要你闲置 15-30 分钟才会触发,而你遇到的可能是几分钟甚至几十秒就掉线。
第一步:确认是不是"僵尸会话"
DApp 页面显示已连接,但点任何操作都没反应,过一会儿提示断开——这叫"僵尸会话"。问题出在:DApp 恢复了你上次的会话 ID,但这个 ID 在钱包那边早就失效了,DApp 自己不知道,还在傻等。
怎么做:
在 DApp 页面点"断开连接"(如果有这个按钮)
打开钱包 App,进入设置 → 找到 WalletConnect 或已连接站点列表,把当前这个 DApp 的条目删除
刷新 DApp 页面,重新扫码或点连接走一遍完整流程
完成标准: 钱包的已连接站点列表里,当前 DApp 条目已被移除。重新连接后,DApp 页面显示新建立的会话 ID。
很多钱包支持"Session Persistence"(会话持久化),也就是关闭 App 再打开后自动恢复连接。但这个功能如果不配合服务端的心跳检测,反而会产生大量僵尸会话。如果你的钱包有这个选项,关掉它,每次手动连接,虽然麻烦但更稳。
第二步:排查网络是不是在"间歇性断流"
WiFi 信号满格不代表连接稳定。WalletConnect v2 依赖 WebSocket 长连接来维持会话,一旦网络中断超过 20-30 秒,WebSocket 就可能陷入无法自动恢复的死循环,表现为"连接成功 → 过一会儿掉线 → 再也连不上"。
怎么做:
把手机 WiFi 关掉,切成 5G/4G 流量用几分钟,看是否还频繁掉线
如果切流量后稳了,那就是你当前 WiFi 的问题——重启路由器,或者换一个 WiFi 热点
电脑端如果有 VPN/代理,暂时关掉再试
完成标准: 切到流量网络后,连接持续 5 分钟以上不断开。
第三步:排除钱包服务端或 RPC 故障
MetaMask 在 2026 年 6 月就出过一次"多网络连接中断"的事件,当时用户端钱包显示正常,但连 DApp 就是频繁失败或掉线,原因是 Infura 默认 RPC 节点出了问题。
怎么做:
去钱包官方 Twitter/X 或状态页看一眼,有没有"服务中断"公告
如果用的是 MetaMask,在设置里把默认 RPC 提供商从 Infura 切换到其他公共 RPC(比如用 Alchemy 的免费节点,或者 chainlist.org 上找对应链的备用 RPC)
完成标准: 官方确认故障已排除,或更换 RPC 后连接稳定性恢复正常。
第四步:检查钱包版本是否太旧
2025 年 Chrome 有一次更新改了 WebSocket 的实现方式,导致大批 WalletConnect 移动端连接失败或频繁掉线。这个问题后来被 WalletConnect 团队修复了,但需要钱包 App 更新到新版才能生效。
怎么做:
iOS:去 App Store 搜钱包名称,看有没有"更新"
Android:去应用商店同样操作
如果版本号低于 2025 年年中发布的版本,直接更新
完成标准: 钱包更新到最新版后,重新连接 DApp 测试稳定性。
如果以上都排查了还是频繁断
问题可能出在 DApp 本身的 WalletConnect 实现,或者你用的特定钱包有兼容性问题。比如 Uniswap Wallet 曾被用户反馈"连接后 20-30 秒就自动断开",而同一 DApp 用 MetaMask 连就没问题。这种只能换钱包,或者等 DApp 那边修复。
风险提醒: 频繁掉线时,不要在断线重连后立即发起交易。先刷新页面确认连接状态稳定,再操作。否则可能出现"交易已提交但 DApp 没收到回调,你以为失败了又发一次"的情况——重复操作等于重复扣 Gas 费。
校验方式: 完成上述任一步骤后,连接 DApp 并保持页面在前台,放 5 分钟不做任何操作,回来点一次余额刷新或简单操作,看是否还能正常响应。如果能,说明会话稳定了。



