Socket.io-client: No se puede conectar en React-Native (solo en modo de depuración)

Creado en 3 ene. 2019  ·  19Comentarios  ·  Fuente: socketio/socket.io-client

### Tú quieres:

  • [x] informar un _error_
  • [ ] solicitar una _característica_

### Comportamiento actual
No puedo conectarme a través de socket io a mi servidor, se agota el tiempo de espera.

### Pasos para reproducir (si el comportamiento actual es un error)
En reaccionar nativo:

```js
importar io desde 'socket.io-client';

const BACKEND = 'mi URL del servidor socketio'

const sock = io(BACKEND, { transportes: ['websocket'], forceNew: true });
calcetín.on('conectado', () = {
depurador;
})
```

Los registros de depuración se parecen a:

No hay nada, solo se activó un tiempo de espera.

### Comportamiento esperado
Espero poder conectarme a mi servidor socketio, de la misma manera que puedo hacerlo en un navegador web.

### Configuración

  • Sistema operativo: Android 8.0
  • navegador: React-nativo
  • Versión de socket.io: 2.1.1 (pero probé diferentes versiones con el mismo resultado)

Comentario más útil

Frente al mismo problema. Funciona bien cuando el modo de depuración está activado, pero no funciona cuando el modo de depuración está desactivado o el apk está construido con el modo de lanzamiento.

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

Todos 19 comentarios

Estoy reabriendo este problema, esto es ligeramente diferente.

Intenté instalar socket io en una nueva instalación nativa de reacción 0.57.8 y me enfrento a este problema nuevamente.

Enfrentando el mismo problema. No funciona en RN versión 0.57.3. Funciona bien cuando se conecta al servidor local. Pero no se está conectando al servidor backend principal.

Reaccionar nativo: 0.57.8
Reaccionar: 16.6.3
socket.io-cliente: 2.0.4

Esto funcionó para mí. También es necesario cambiar la versión de socketio js en el lado del servidor a 2.0.4

Estoy enfrentando el mismo problema

El problema de @jr-k persiste después del hackeo de @anooj1483 según https://github.com/socketio/socket.io-client/issues/1245#issuecomment -451285245 en #1245
es lo mismo para mi

Frente al mismo problema. Funciona bien cuando el modo de depuración está activado, pero no funciona cuando el modo de depuración está desactivado o el apk está construido con el modo de lanzamiento.

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

Mismo problema que todos los demás. Funciona perfectamente si se depura.
Versiones de la aplicación React Native:
"reaccionar": "16.5.0",
"reaccionar nativo": "^0.58.4",
"socket.io-cliente": "^2.1.1"

Versión del servidor:
"socket.io": "2.0.4"

socket.io-client: 2.0.4 funcionó para mí.

Recibo un error al usar 2.0.4 + ReactNative

TypeError: undefined no es un objeto (evaluando 'n.protocol')

image

LO SOLUCIONÉ para mí cuando estaba agregando host: puerto como el siguiente en modo de depuración:

const socket = io(" //dominio.com:puerto ", opciones); // esto funciona solo en modo de depuración

no funcionó en modo SIN depuración, tuve que agregar el protocolo:

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

Tengo el mismo problema
react-native : 0.57.8 ,
socket-io-client : 2.2.0
solo funciona cuando la depuración está habilitada

¿Alguien ha encontrado una solución para esto todavía? he probado varias versiones diferentes del paquete sin suerte

hay muchas causas de este error/error, la mía fue solo una de muchas.

prueba la última versión de github, así, resolvió mis problemas con RN android:

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

Salud

LO SOLUCIONÉ para mí cuando estaba agregando host: puerto como el siguiente en modo de depuración:

const socket = io(" //dominio.com:puerto ", opciones); // esto funciona solo en modo de depuración

no funcionó en modo SIN depuración, tuve que agregar el protocolo:

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

funciona en socket.io 2.1.1 y react-native 0.59.8. te amo @ningacoding 👍 👍

Hola @autotrof ,
Probé con react-native 0.59.8 y socket.io, pero no se puede conectar en la versión de lanzamiento.
Estoy usando ip y puerto para conectarme,
¿Podrías ayudarme?

Alguien no puede resolver todavía?
En mi caso

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

Del mismo modo, solo funcionó en modo de depuración :(

Resolví este problema cambiando console.dir() a console.log()
La función console.dir() no es compatible con el modo de liberación 😃😃

prueba esto en android funcionó para mí

android:name= ".MainApplication"
android:label= "@cadena/nombre_aplicación"
Android: icono = "@mipmap/ic_launcher"
android:roundIcon= "@mipmap/ic_launcher_round"
android:allowBackup= "falso"
android:usesCleartextTraffic= "true" <-- agrega esto

¿Fue útil esta página
0 / 5 - 0 calificaciones