Socket.io: строки Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· сокСт

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 30 нояб. 2017  Β·  5ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: socketio/socket.io

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : для вопросов ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих ΠΊΠ°Π½Π°Π»ΠΎΠ²: stackoverflow ΠΈΠ»ΠΈ slack.

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

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

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

ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π°Ρ‡Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ с использованиСм строки β‰₯ (ΠΈΠ»ΠΈ юникода \u2265 ) ΠΎΠ½ прСвращаСтся Π² ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ e ΠΈ ≀ пСрСводится Π² d

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

сторона ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

channel.emit('data', {data:'β‰₯'});

сторона сСрвСра

socket.on('data',({data:bla})=>{
console.log(bla); // prints 'e'
});

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ быстрый ΠΎΡ‚Π²Π΅Ρ‚ - ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ тСстовый ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡƒΡ‚Π΅ΠΌ развСтвлСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ скрипки .

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

Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ останутся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ постоянно

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

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

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

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

ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» с 2.0.4, всС Π΅Ρ‰Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ ...
исправил это с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΊΠΎΠ΄Π°:
сторона ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

function strencode( data ) {
    return encodeURIComponent( escape( JSON.stringify( data ) ) );
}

сторона сСрвСра

function strdecode( data ) {
    return JSON.parse( unescape( decodeURIComponent( data ) ) );
}

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

Π­Ρ‚ΠΎ происходит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли сокСт Π½Π΅ Π±Ρ‹Π» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ (ΠΏΠ΅Ρ€Π²ΠΎΠ΅ использованиС) ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с xhr,
послС обновлСния Π΄ΠΎ websocket всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ

см. # 451 и # 572

Π’ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с синтаксичСским Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ utf8 Π² вСрсии 1.x, Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ с вСрсиСй 2.x?

Бвязанный:

ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» с 2.0.4, всС Π΅Ρ‰Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ ...
исправил это с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΊΠΎΠ΄Π°:
сторона ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

function strencode( data ) {
    return encodeURIComponent( escape( JSON.stringify( data ) ) );
}

сторона сСрвСра

function strdecode( data ) {
    return JSON.parse( unescape( decodeURIComponent( data ) ) );
}

Π”Π°, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Бпасибо!

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