Socket.io-client: 无法在 React-Native 上连接(仅在调试模式下)

创建于 2019-01-03  ·  19评论  ·  资料来源: socketio/socket.io-client

### 你想要:

  • [x] 报告一个_bug_
  • []请求一个_feature_

### 当前行为
我无法通过套接字 io 连接到我的服务器,它超时了。

### 重现步骤(如果当前行为是错误)
在本机反应中:

```js
从'socket.io-client'导入io;

const BACKEND = '我的 socketio 服务器 url'

const sock = io(BACKEND, { transports: ['websocket'], forceNew: true });
sock.on('已连接', () = {
调试器;
})
```

调试日志如下所示:

没有什么只有触发的超时

### 预期行为
我希望能够连接到我的 socketio 服务器,就像在网络浏览器中一样。

### 设置

  • 操作系统:安卓8.0
  • 浏览器:反应原生
  • socket.io 版本:2.1.1(但尝试了不同的版本,结果相同)

最有用的评论

面临同样的问题。 在调试模式打开时运行良好,但在关闭调试模式或使用发布模式构建 apk 时不起作用。

Versions:
"react": "16.8.2",
"react-native": "0.58.4",
"socket.io-client": "^2.2.0"

所有19条评论

我重新打开这个问题,这有点不同。

我尝试在全新的 react-native 安装 0.57.8 上安装 socket io,但我又遇到了这个问题。

面临同样的问题。 不适用于 RN 版本 0.57.3。 连接到本地服务器时工作正常。 但它没有连接到主后端服务器。

反应原生:0.57.8
反应:16.6.3
socket.io 客户端:2.0.4

这对我有用。 还需要将服务器端的socketio js版本改为2.0.4

我面临同样的问题

根据 #1245 中的https://github.com/socketio/socket.io-client/issues/1245#issuecomment -451285245, @anooj1483黑客攻击后,@jr-k 的问题仍然存在
对我来说也是一样

面临同样的问题。 在调试模式打开时运行良好,但在关闭调试模式或使用发布模式构建 apk 时不起作用。

Versions:
"react": "16.8.2",
"react-native": "0.58.4",
"socket.io-client": "^2.2.0"

和其他人一样的问题。 如果调试完美。
React Native App 版本:
“反应”:“16.5.0”,
“反应原生”:“^0.58.4”,
“socket.io-client”:“^2.1.1”

服务器版本:
“socket.io”:“2.0.4”

socket.io-client: 2.0.4为我工作。

我在使用 2.0.4 + ReactNative 时遇到错误

类型错误:未定义不是对象(评估“n.protocol”)

image

当我在调试模式下添加主机:端口时,为我修复了它:

const socket = io(" //domain.com:port ", opts); // 这仅在调试模式下有效

在 NO 调试模式下不起作用,我必须添加协议:

const socket = io(" http://domain.com:port ", opts);

我有同样的问题
react-native : 0.57.8 ,
socket-io-client : 2.2.0
仅在启用调试时有效

有没有人找到解决这个问题的方法? 我已经尝试了几个不同版本的包,但都没有运气

这个错误/错误的原因有很多,我的只是其中之一。

尝试来自 github 的最后一个版本,就像这样,解决了我与 RN android 的问题:

npm i socketio/engine.io-client#3.3.2 -S

干杯

当我在调试模式下添加主机:端口时,为我修复了它:

const socket = io(" //domain.com:port ", opts); // 这仅在调试模式下有效

在 NO 调试模式下不起作用,我必须添加协议:

const socket = io(" http://domain.com:port ", opts);

它适用于 socket.io 2.1.1 和 react-native 0.59.8。 爱你@ningacoding 👍 👍

@autotrof
我尝试使用 react-native 0.59.8 和 socket.io,但它无法在发布版本中连接。
我使用ip和端口连接,
你能帮我么?

谁还不能解决?
就我而言

react-native : 0.61.5
socket.io-client: 2.3.0 (I tried another version, 2.1.1, 2.0.1, 2.1.0)

我同样只在调试模式下工作:(

我解决了这个问题,将console.dir()更改为console.log()
console.dir()功能不支持释放模式😃😃

在安卓上试试这个对我有用

安卓:名称= “.MainApplication”
机器人:标签= “@string/app_name”
机器人:图标= “@mipmap/ic_launcher”
机器人:roundIcon = “@mipmap/ic_launcher_round”
机器人:allowBackup = “假”
android:usesCleartextTraffic= "true" <-- 添加这个

此页面是否有帮助?
0 / 5 - 0 等级