### Você quer:
### Comportamento atual
Não consigo conectar via soquete io ao meu servidor, ele expira.
### Etapas para reproduzir (se o comportamento atual for um bug)
Em react-native:
``` js
importar io de 'socket.io-client';
const BACKEND = 'url do meu servidor socketio'
const sock = io(BACKEND, { transports: ['websocket'], forceNew: true });
sock.on('conectado', () = {
depurador;
})
```
Os logs de depuração se parecem com:
Não há nada apenas um tempo limite acionado
### Comportamento esperado
Espero poder me conectar ao meu servidor socketio, da mesma forma que consigo em um navegador da web.
### Configurar
oops duplicata de https://github.com/socketio/socket.io-client/issues/1245
Estou reabrindo este assunto, este é um pouco diferente.
Tentei instalar o soquete io em uma nova instalação nativa de reação 0.57.8 e estou enfrentando esse problema novamente.
Enfrentando o mesmo problema. Não funciona na versão RN 0.57.3. Funciona bem quando se conecta ao servidor local. Mas não está se conectando ao servidor back-end principal.
Reagir Nativo: 0,57,8
Reagir: 16.6.3
socket.io-client: 2.0.4
Isso funcionou para mim. Também precisa alterar a versão do socketio js no lado do servidor para 2.0.4
estou enfrentando o mesmo problema
O problema de @jr-k persiste após o hack de @anooj1483 de acordo com https://github.com/socketio/socket.io-client/issues/1245#issuecomment -451285245 em #1245
É o mesmo para mim
Enfrentando o mesmo problema. Funciona bem quando o modo de depuração está ativado, mas não funciona quando o modo de depuração está desativado ou o apk é criado com o modo de lançamento.
Versions:
"react": "16.8.2",
"react-native": "0.58.4",
"socket.io-client": "^2.2.0"
Mesmo problema que todos os outros. Funciona perfeitamente se estiver depurando.
Reagir versões do aplicativo nativo:
"reagir": "16.5.0",
"react-native": "^0.58.4",
"socket.io-client": "^2.1.1"
Versão do servidor:
"socket.io": "2.0.4"
socket.io-client: 2.0.4
funcionou para mim.
Estou recebendo erro ao usar 2.0.4 + ReactNative
TypeError: undefined não é um objeto (avaliando 'n.protocol')
CORRIGIDO para mim quando eu estava adicionando host:port como próximo no modo de depuração:
const socket = io(" //domain.com:port ", opts); // isso funciona apenas no modo de depuração
não funcionou no modo NO debug, tive que adicionar o protocolo:
const socket = io(" http://domain.com:port ", opts);
Eu tenho o mesmo problema
react-native : 0.57.8
,
socket-io-client : 2.2.0
só funciona quando a depuração está habilitada
alguém já encontrou uma correção para isso? eu tentei várias versões diferentes do pacote sem sorte
existem muitas causas para este erro/bug, o meu foi apenas um de muitos.
tente a última versão do github, assim, resolveu meus problemas com o RN android:
npm i socketio/engine.io-client#3.3.2 -S
Felicidades
CORRIGIDO para mim quando eu estava adicionando host:port como próximo no modo de depuração:
const socket = io(" //domain.com:port ", opts); // isso funciona apenas no modo de depuração
não funcionou no modo NO debug, tive que adicionar o protocolo:
const socket = io(" http://domain.com:port ", opts);
funciona no socket.io 2.1.1 e react-native 0.59.8. te amo @ningacoding 👍 👍
Olá @autotrof ,
Eu tentei com react-native 0.59.8 e socket.io, mas não pode se conectar na versão build.
Estou usando ip e porta para conectar,
Você pode por favor me ajudar?
Alguém ainda não conseguiu resolver?
No meu 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)
Da mesma forma, apenas no modo de depuração funcionou :(
Resolvi este problema mude console.dir()
para console.log()
A função console.dir()
não é compatível com o modo de lançamento 😃😃
tente isso no android funcionou para mim
android:label= "@string/app_name"
android:icon= "@mipmap/ic_launcher"
android:roundIcon= "@mipmap/ic_launcher_round"
android:allowBackup= "falso"
android:usesCleartextTraffic= "true" <-- adicione isto
Comentários muito úteis
Enfrentando o mesmo problema. Funciona bem quando o modo de depuração está ativado, mas não funciona quando o modo de depuração está desativado ou o apk é criado com o modo de lançamento.