Socket.io-client: v3 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ сокСта Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ соСдинСниС.

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 16 нояб. 2020  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: socketio/socket.io-client

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

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

Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅

ПослС обновлСния Π΄ΠΎ вСрсии 3, ΠΊΠΎΠ³Π΄Π° я Π²Ρ‹Π·Ρ‹Π²Π°ΡŽ socket.disconnect() Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ сСрвСра, каТСтся, Ρ‡Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ соСдинСниС ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Ρ‚Π°ΠΊΠΆΠ΅ закрываСтся - всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сокСты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ / Π±Π°Π·ΠΎΠ²ΠΎΠ΅ соСдинСниС, Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ.

Π― Π½Π΅ знаю, ΠΊΡƒΠ΄Π° ΠΏΠΎΠ΄Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ root Π² engine.io v4?

Π’ΠΎΡ‚ отличия ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²ΠΎ врСмя обновлСния . ΠŸΡ€ΠΎΡˆΡƒ прощСния, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ содСрТит Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСсвязанныС измСнСния. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ я Ρ…ΠΎΡ‡Ρƒ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ, это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Π½Π΅ вносил Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ‚ΠΎ, ΠΊΠ°ΠΊ я Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ (Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ cmd + F для Β«ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΒ», Β«Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΒ», Β«io.socketΒ»).

ДСйствия ΠΏΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ (Ссли Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ являСтся ошибкой)

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, посмотритС этот jsfiddle .

ОТидаСмоС повСдСниС

ПовСдСниС v2 Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² socket.close() Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ Π½Π° сторонС сСрвСра Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ этот сокСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρƒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Π΅ΡΡ‚ΡŒ нСсколько пространств ΠΈΠΌΠ΅Π½ - ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ сокСт ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ этого сокСта.

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

  • ОБ: Windows 10
  • Π±Ρ€Π°ΡƒΠ·Π΅Ρ€: Chrome 86.0
  • вСрсия socket.io: 3.0.0

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΈ использовании вмСсто Π½Π΅Π³ΠΎ socket.io v2.

Другая информация (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, трассировки стСка, связанныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, прСдлоТСния ΠΏΠΎ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ)

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

Π― ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» ΠΊΡƒΡ‡Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ собствСнного ΠΊΠΎΠ΄Π°, думая, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ сломал: ')

Π‘ Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Ρƒ исправлСния! И Π΅Ρ‰Π΅ Ρ€Π°Π· спасибо Π·Π° Π²Π°ΡˆΡƒ Ρ‚ΡΠΆΠ΅Π»ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ запуску v3.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ "ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ" Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ запускаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ сокСту ΠΈ Π½Π΅ заполняСт массив connecting Π² диспСтчСрС:
https://github.com/socketio/socket.io-client/blame/master/lib/manager.ts#L599

Когда вызываСтся _destroy, if (this.connecting.length) return; this._close(); всСгда Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ соСдинСниС.

Π― Π½Π΅ Π²ΠΈΠΆΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² клиСнтском ΠΊΠΎΠ΄Π΅. Π’ ΠΊΠΎΠ΄Π΅ сСрвСра я Π½Π΅ нашСл Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ события с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Β».

Π’ΠΎΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ выброс "ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ".

https://github.com/socketio/socket.io-client/commit/b60e909039d4bbb979d32ec86ac16c5398526b44#diff -f0e64910289a49966c99ceadaa5637404e3439ec0812a4bdb7003fe1c5a

@darrachequesne НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

@ david-fong Π― Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ смог воспроизвСсти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, большоС спасибо Π·Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ шаги: +1:

Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ исправлСно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ https://github.com/socketio/socket.io-client/commit/f8f60fc860f51aa6465fc32dd9275a8e1d22f05d (Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² [email protected] ).

Π•Ρ‰Π΅ Ρ€Π°Π· спасибо Π·Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚, ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚!

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