Socket.io-client: Verbindung mit React-Native nicht möglich (nur im Debug-Modus)

Erstellt am 3. Jan. 2019  ·  19Kommentare  ·  Quelle: socketio/socket.io-client

### Sie wollen:

  • [x] einen _Fehler_ melden
  • [ ] Fordern Sie ein _Feature_ an

### Aktuelles Verhalten
Ich kann keine Verbindung über Socket io zu meinem Server herstellen, es läuft eine Zeitüberschreitung.

### Schritte zum Reproduzieren (wenn das aktuelle Verhalten ein Fehler ist)
In reaktiver Sprache:

```js
io aus 'socket.io-client' importieren;

const BACKEND = 'Meine Socketio-Server-URL'

const sock = io(BACKEND, { transports: ['websocket'], forceNew: true });
sock.on('verbunden', () = {
Debugger;
})
```

Die Debug-Logs sehen so aus:

Es wird nichts nur ein Timeout ausgelöst

### Erwartetes Verhalten
Ich erwarte, dass ich eine Verbindung zu meinem Socketio-Server herstellen kann, genau wie in einem Webbrowser.

### Konfiguration

  • Betriebssystem: Android 8.0
  • Browser: React-nativ
  • socket.io Version: 2.1.1 (aber verschiedene Versionen mit dem gleichen Ergebnis ausprobiert)

Hilfreichster Kommentar

Stehe vor dem gleichen Problem. Funktioniert gut, wenn der Debug-Modus aktiviert ist, funktioniert jedoch nicht, wenn der Debug-Modus deaktiviert ist oder die APK mit dem Release-Modus erstellt wurde.

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

Alle 19 Kommentare

Ich öffne dieses Thema erneut, das ist etwas anders.

Ich habe versucht, socket io auf einer frischen reaktiven nativen Installation 0.57.8 zu installieren, und ich habe dieses Problem erneut.

Stehe vor dem gleichen Problem. Funktioniert nicht in RN-Version 0.57.3. Funktioniert gut, wenn eine Verbindung zum lokalen Server hergestellt wird. Aber es verbindet sich nicht mit dem Haupt-Backend-Server.

Reagierender Einheimischer: 0.57.8
Reaktion: 16.6.3
socket.io-client: 2.0.4

Das hat bei mir funktioniert. Außerdem muss die Socketio js-Version auf der Serverseite auf 2.0.4 geändert werden

ich stehe vor dem gleichen Problem

Das Problem von @jr-k besteht auch nach dem Hack von @anooj1483 gemäß https://github.com/socketio/socket.io-client/issues/1245#issuecomment -451285245 in #1245
Bei mir ist es genauso

Stehe vor dem gleichen Problem. Funktioniert gut, wenn der Debug-Modus aktiviert ist, funktioniert jedoch nicht, wenn der Debug-Modus deaktiviert ist oder die APK mit dem Release-Modus erstellt wurde.

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

Das gleiche Problem wie bei allen anderen. Funktioniert beim Debuggen einwandfrei.
React Native App-Versionen:
"reagieren": "16.5.0",
"react-native": "^0.58.4",
"socket.io-client": "^2.1.1"

Serverversion:
"socket.io": "2.0.4"

socket.io-client: 2.0.4 hat bei mir funktioniert.

Ich erhalte einen Fehler bei der Verwendung von 2.0.4 + ReactNative

TypeError: undefined ist kein Objekt (evaluiert 'n.protocol')

image

FIXED IT für mich, als ich host:port wie nächstes im Debug-Modus hinzufügte:

const socket = io(" //domain.com:port ", opts); // das funktioniert nur im Debug-Modus

hat im NO Debug-Modus nicht funktioniert, ich musste das Protokoll hinzufügen:

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

Ich habe das gleiche Problem
react-native : 0.57.8 ,
socket-io-client : 2.2.0
funktioniert nur wenn Debug aktiviert ist

hat dafür schon jemand eine Lösung gefunden? Ich habe mehrere verschiedene Versionen des Pakets ohne Glück ausprobiert

Es gibt viele Ursachen für diesen Fehler/Bug, meine war nur eine von vielen.

Versuchen Sie die letzte Version von github, wie folgt, meine Probleme mit RN Android gelöst:

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

Beifall

FIXED IT für mich, als ich host:port wie nächstes im Debug-Modus hinzufügte:

const socket = io(" //domain.com:port ", opts); // das funktioniert nur im Debug-Modus

hat im NO Debug-Modus nicht funktioniert, ich musste das Protokoll hinzufügen:

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

es funktioniert auf socket.io 2.1.1 und reaktiv-native 0.59.8. ich liebe dich @ningacoding 👍 👍

Hallo @autotrof ,
Ich habe es mit React-native 0.59.8 und socket.io versucht, aber es kann keine Verbindung im Release-Build hergestellt werden.
Ich verwende IP und Port, um eine Verbindung herzustellen,
Kannst du mir bitte helfen?

Kann noch keiner lösen?
In meinem Fall

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

Ich habe ebenfalls nur im Debug-Modus gearbeitet :(

Ich habe dieses Problem gelöst ändere console.dir() in console.log()
console.dir() Funktion wird für den Freigabemodus nicht unterstützt 😃😃

probiere es auf Android aus, bei mir hat es funktioniert

android:name= ".MainApplication"
android:label= "@string/app_name"
android:icon= "@mipmap/ic_launcher"
android:roundIcon= "@mipmap/ic_launcher_round"
android:allowBackup= "false"
android:usesCleartextTraffic= "true" <-- füge dies hinzu

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen