React Native反复调用未知WebSocket连接被拒问题求助
React Native 自动发起ws://localhost:7700连接的原因及排查
这个WebSocket连接请求来自React Native内置的Flipper调试工具,以下是具体说明:
核心原因
React Native 0.62及以上版本默认集成了Flipper调试套件,你的版本react-native: ^0.69.4属于这个范围。Flipper在调试模式下会自动尝试通过ws://localhost:7700与桌面端Flipper客户端建立通信,若桌面端未启动、端口被占用,就会出现你看到的报错:
{
message: "The operation couldn't be completed. Connection refused"
}

验证方法
- 在模拟器中触发调试菜单(iOS摇一摇、Android按菜单键),选择「Disable Flipper」,观察网络请求是否停止。
- 检查项目配置文件:
- Android端查看
android/app/src/main/java/com/[你的项目名]/MainApplication.java,默认包含Flipper初始化代码; - iOS端查看
Podfile,默认依赖Flipper及相关组件。
- Android端查看
解决办法
- 若不需要Flipper:
- Android:注释掉
MainApplication.java中Flipper相关的初始化逻辑; - iOS:修改
Podfile,移除Flipper相关依赖,执行pod install重新安装依赖。
- Android:注释掉
- 若需要使用Flipper:
- 下载并启动Flipper桌面客户端;
- 检查7700端口是否被其他程序占用,可通过
lsof -i :7700(Mac/Linux)或netstat -ano | findstr :7700(Windows)查询并释放端口。
内容的提问来源于stack exchange,提问作者Jacob Grafenstein
相关产品推荐
相关产品推荐

