Socket.io-client: НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ React-Native (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ)

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 3 янв. 2019  Β·  19ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: socketio/socket.io-client

### Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅:

  • [x] ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± _ошибкС_
  • [ ] Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ _Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ_

### Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· сокСт io ΠΊ своСму сСрвСру, врСмя оТидания истСкло.

### Π¨Π°Π³ΠΈ для воспроизвСдСния (Ссли Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ являСтся ошибкой)
Π’ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ:

```js
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ io ΠΈΠ· 'socket.io-client';

const BACKEND = 'URL-адрСс ΠΌΠΎΠ΅Π³ΠΎ сСрвСра socketio'

const sock = io(BACKEND, {транспорты: ['websocket'], forceNew: true });
sock.on('ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½', () = {
ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ;
})
```

Π–ΡƒΡ€Π½Π°Π»Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ выглядят Ρ‚Π°ΠΊ:

НСт Π½ΠΈΡ‡Π΅Π³ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚ срабатываСт

### ОТидаСмоС повСдСниС
Π― оТидаю, Ρ‡Ρ‚ΠΎ смогу ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΌΠΎΠ΅ΠΌΡƒ сСрвСру socketio Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

### ΠΠ°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ

  • ОБ: Андроид 8.0
  • Π±Ρ€Π°ΡƒΠ·Π΅Ρ€: React-native
  • ВСрсия socket.io: 2.1.1 (Π½ΠΎ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии с Ρ‚Π΅ΠΌ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ)

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Бтолкнулся с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π₯ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ»ΠΈ apk собран Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ выпуска.

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

ВсС 19 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

упс Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ https://github.com/socketio/socket.io-client/issues/1245

Π― снова ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽ этот вопрос, это Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π― попытался ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ socket io Π½Π° Π½ΠΎΠ²ΡƒΡŽ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ установку 0.57.8, ΠΈ я снова столкнулся с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

Π‘Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ²ΡˆΠΈΡΡŒ с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² РН вСрсии 0.57.3. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ сСрвСру. Но ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ основному Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ сСрвСру.

Π Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ: 0.57.8
Π Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: 16.6.3
socket.io-ΠΊΠ»ΠΈΠ΅Π½Ρ‚: 2.0.4

Π­Ρ‚ΠΎ сработало для мСня. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ socketio js Π½Π° сторонС сСрвСра Π½Π° 2.0.4.

Π― столкнулся с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° @jr-k сохраняСтся послС Π²Π·Π»ΠΎΠΌΠ° @anooj1483 согласно https://github.com/socketio/socket.io-client/issues/1245#issuecomment -451285245 Π² #1245.
Π­Ρ‚ΠΎ Ρ‚ΠΎ ΠΆΠ΅ самоС для мСня

Бтолкнулся с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π₯ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ»ΠΈ apk собран Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ выпуска.

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

Π’Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‡Ρ‚ΠΎ ΠΈ Ρƒ всСх. ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅.
ВСрсии прилоТСния React Native:
Β«Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ»: Β«16.5.0Β»,
"Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ-Ρ€ΠΎΠ΄Π½ΠΎΠΉ": "^0.58.4",
"socket.io-ΠΊΠ»ΠΈΠ΅Π½Ρ‚": "^2.1.1"

ВСрсия сСрвСра:
"сокСт.ΠΈΠΎ": "2.0.4"

socket.io-client: 2.0.4 сработало для мСня.

Π― ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ сообщСниС ΠΎΠ± ошибкС ΠΏΡ€ΠΈ использовании 2.0.4 + ReactNative

TypeError: undefined Π½Π΅ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ (ΠΎΡ†Π΅Π½ΠΊΠ° 'n.protocol')

image

Π˜Π‘ΠŸΠ ΠΠ’Π›Π•ΠΠž ЭВО для мСня, ΠΊΠΎΠ³Π΄Π° я добавлял host:port ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

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

Π’Π°ΡˆΠ΅ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅

Π˜Π‘ΠŸΠ ΠΠ’Π›Π•ΠΠž ЭВО для мСня, ΠΊΠΎΠ³Π΄Π° я добавлял host:port ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

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 ,
Π― ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ 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() Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ выпуска πŸ˜ƒπŸ˜ƒ

ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π½Π° Π°Π½Π΄Ρ€ΠΎΠΉΠ΄Π΅ Ρƒ мСня сработало

Android: имя = ".MainApplication"
android:label= "@string/имя_прилоТСния"
android:icon= "@mipmap/ic_launcher"
android:roundIcon= "@mipmap/ic_launcher_round"
android:allowBackup= "лоТь"
android:usesCleartextTraffic= "true" <-- Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ это

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ