Socket.io-client: Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ io.Manager ΠΈ io.Socket?

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 22 июн. 2018  Β·  14ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: socketio/socket.io-client

Π― ΠΊΠ°ΠΊ Π±Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² socket.io-client. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ нСсколько Ρ€Π°Π·, я всС Π΅Ρ‰Π΅ Π½Π΅ понимаю, Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ io.Manager ΠΈ io.Socket. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, я ΠΌΠΎΠ³Ρƒ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ сокСт ΠΈΠ· io (). Π½ΠΎ ΠΊΠ°ΠΊ я ΠΌΠΎΠ³Ρƒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°? ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ, Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ событиСм Manager ΠΈ событиСм Socket.

Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΡŽ вас.

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

Π”Π°, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ докумСнтация Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, Π½ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ.

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

+1

+1

Π”Π°, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ докумСнтация Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, Π½ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ.

ΠΏΠΎΠΊΠ° я ΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ, большая Ρ‡Π°ΡΡ‚ΡŒ свойства manager ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° Π² части io
Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€
socket = io( 'http://192.168.2.2:8088' + Param.chatNamespace + '?parammmm=1', { query: { key: 'Michael' }, path: Param.path, transports: ['websocket'], autoConnect: false, // like this, could be found in manager piece } );
И ΠΈΠΌΠ΅Π½Π½ΠΎ этого я Ρ…ΠΎΡ‡Ρƒ идСально.

я Ρ‚ΠΎΠΆΠ΅

МнС Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ, Ссли ΠΎΠ½Π° Π΅ΡΡ‚ΡŒ, ΠΌΠ΅ΠΆΠ΄Ρƒ:

  • io (URL, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹)
  • io.connect (URL, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹)

А Π² Ρ‡Π΅ΠΌ польза:

  • Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ (url, ΠΎΠΏΡ†ΠΈΠΈ)

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ, Π½ΠΎ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ описания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ html-страницу, Π»ΠΈΠ±ΠΎ socket.io, Π»ΠΈΠ±ΠΎ socket.io-client

Бпасибо ΠΈ ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅, я Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² Π½Π΅ΠΉ.

Π― ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ согласСн. Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ экзСмплярами диспСтчСра ΠΈ сокСта.

+1,

+1

МСнь !! Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π° это Π΅Ρ‰Π΅ Π½Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π° ??? ΠΊΠ°ΠΊ wth !!

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ классах Manager ΠΈ Socket здСсь ΠΈ здСсь .

ДиспСтчСр управляСт экзСмпляром ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Engine.IO, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСт соСдинСниС с сСрвСром (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… транспортов, ΠΊΠ°ΠΊ WebSocket ΠΈΠ»ΠΈ HTTP long-polling).
ДиспСтчСр ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
Один ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСсколькими сокСтами.

Socket - это Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ класс для взаимодСйствия с сСрвСром. Socket ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ пространству ΠΈΠΌΠ΅Π½ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ /) ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для связи Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ диспСтчСр.

По сути, экзСмпляр ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° нСявно создаСтся ΠΏΡ€ΠΈ запускС io() . Доступ ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° io Socket, ΠΈ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ использован, Ссли Π²Ρ‹ создадитС Π΄Ρ€ΡƒΠ³ΠΎΠΉ Socket (Ссли Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ forceNew ):

const socket = io();
const socket2 = io("/test2");
// socket.io === socket2.io
const socket3 = io("/test3", { forceNew: true }); // new manager
// socket.io !== socket3.io

Π§Ρ‚ΠΎ касаСтся событий, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ события связаны с состояниСм соСдинСния ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ диспСтчСром, Ρ‚Π°ΠΊ ΠΈ связанными с Π½ΠΈΠΌ сокСтами:

  • connect_error
  • connect_timeout
  • ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ
  • ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • reconnect_error
  • reconnect_failed
  • ΠΏΠΈΠ½Π³
  • ΠΏΠΎΠ½Π³

Socket Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ события, связанныС с пространством ΠΈΠΌΠ΅Π½:

  • ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ
  • ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ
  • ошибка

Π‘ΠΊΠ°ΠΆΠΈΡ‚Π΅, поТалуйста, достаточно Π»ΠΈ это ясно. И ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ!

@darrachequesne Бпасибо Π·Π° вашС объяснСниС, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ io(url, options) ΠΈ
io.connect(url, options) поТалуйста? Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ говорится, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ экзСмпляр сокСта, Π½ΠΎ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ?

я Ρ‚ΠΎΠΆΠ΅

МнС Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ, Ссли ΠΎΠ½Π° Π΅ΡΡ‚ΡŒ, ΠΌΠ΅ΠΆΠ΄Ρƒ:

  • io (URL, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹)
  • io.connect (URL, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹)

А Π² Ρ‡Π΅ΠΌ польза:

  • Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ (url, ΠΎΠΏΡ†ΠΈΠΈ)

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ, Π½ΠΎ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ описания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ html-страницу, Π»ΠΈΠ±ΠΎ socket.io, Π»ΠΈΠ±ΠΎ socket.io-client

Бпасибо ΠΈ ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅, я Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² Π½Π΅ΠΉ.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ io(url, options) ΠΈ io.connect(url, options) Ρ€Π°Π²Π½Ρ‹:

// https://github.com/socketio/socket.io-client/blob/2.3.0/lib/index.js#L15
module.exports = exports = lookup;

// https://github.com/socketio/socket.io-client/blob/2.3.0/lib/index.js#L85
exports.connect = lookup;

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… способа ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅, это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ вопрос ...: smile:. Π’Ρ€ΠΎΠ΄Π΅ Ρ‚Π°ΠΊ с 2012 Π³ΠΎΠ΄Π°: https://github.com/socketio/socket.io-client/commit/d5652feadc1a2085942b5a6a22394f07242e77b2. Π― ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŽ, Π΅ΡΡ‚ΡŒ Π»ΠΈ для этого ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, Π½ΠΎ ΠΈΠ½Π°Ρ‡Π΅ connect() ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π² вСрсии 3.

Π§Ρ‚ΠΎ касаСтся конструктора ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅Π³ΠΎ слСдуСт ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· общСдоступного API. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅:

const socket = io("ws://example.com/my-namespace", {
  reconnectionDelayMax: 10000,
  query: {
    auth: "123"
  }
});

// is the same as
const manager = new Manager("ws://example.com", {
  reconnectionDelayMax: 10000
});
const socket = manager.socket("/my-namespace", {
  query: {
    auth: "123"
  }
});

Π― ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ: https://github.com/socketio/socket.io-website/commit/e779468a8df739a7ff4316719af2931d6ec70539

НадСюсь, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это яснСС!

Доступ ΠΊ диспСтчСру ΠΈΠΌΠ΅Π΅Ρ‚ большой смысл, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ экзСмпляры сокСта вмСсто использования глобального диспСтчСра ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТится Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

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