Socket.io: рдкреБрди: рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдПрдХрд╛рдзрд┐рдХ рд╕реЙрдХреЗрдЯ рдЦреБрд▓рддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдЬреБрд▓ре░ 2011  ┬╖  54рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: socketio/socket.io

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдХрд┐рд╕реА рдФрд░ рд╡реНрдпрдХреНрддрд┐ рдкрд░ рдпрд╣ рджреЛрдиреЛрдВ рджреЗрдЦрд╛ рд╣реИред рдЬрдм рдПрдХ рдкреБрди: рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рднреАрддрд░ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реЙрдХреЗрдЯ рдЦреБрд▓рд╛ рд╣реЛрдирд╛ рдЖрдо рд╣реИ, рдЬреЛ рдХрднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ / рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдореИрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЖрд╡реЗрджрди рд╕реЗ рдПрдХ рд▓реЙрдЧ рдорд┐рд▓рд╛ред

** рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ* * рджреЗрд░реА рдХреЗ рд╕рд╛рде рдкреБрди: рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ 1000 рдкреНрд░рдпрд╛рд╕: 1
** рд╡рд┐рд▓рдВрдм 2000 рдХреЗ рд╕рд╛рде рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕: 2* * Xhr-polling рд╕реЗ рдЬреБрдбрд╝рдирд╛
** xhr-polling рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рдирд╛* * рдкрд░рд┐рд╡рд╣рди рдкреНрд░рдХрд╛рд░ xhr-polling рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ: 2
** рдЬреБрдбрд╝реЗ рд╣реБрдП* * рдЬреБрдбрд╝рд╛ рд╣реБрдЖ

рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рдореБрдЭреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЬреБрдбрд╝реЗ рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ, рднрд▓реЗ рд╣реА рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд╛рдпрд░рдмрдЧ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рджреЛ рд╕реЙрдХреЗрдЯ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рдореЗрд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдореЗрдВ рд╣реИ, рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рдкреБрди: рд╕рдВрдпреЛрдЬрди рдкреНрд░рдпрд╛рд╕ рдХреЛ рдмрдВрдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдмреЗрд╢рдХ, рдЕрд╕рд▓реА рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреНрдпреЛрдВ рдерд╛?

Socket.IO client bug

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реБрдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреНрдпрд╛ рдереАрдВред рдпрд╣ рдмрдЧ рдирд╣реАрдВ рд╣реИ , рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╣рд┐рд╕реНрд╕реЗ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдХреЛрдб рдХрд╛ рдЧрд▓рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдлреЗрд╕рдкрд╛рд▓рдо рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдерд╛:

рдореБрд╕реАрдмрдд:

var socket = io.connect();

socket.on('connect', function () {

  console.log('User connected!');

  socket.on('message', function(message) {

    console.log(message);

  });

});

рдЙрдкрд░реЛрдХреНрдд рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдХрдИ рдХреЙрд▓ рдХрд╛ рдХрд╛рд░рдг рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ () рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ (s) рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВрдиреЗ рдКрдкрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:

рдЙрдкрд╛рдп:

var socket = io.connect();

socket.on('connect', function () {

  console.log('User connected!');

});

socket.on('message', function(message) {

  console.log(message);

});

рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдХрдИ рд╕рдВрджреЗрд╢ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдирд╣реАрдВ рднреЗрдЬреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдХреЛрдб рдХрд╛ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ?

рд╕рднреА 54 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреЛ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдФрд░ рддрдм рддрдХ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдкреБрди: рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рдХрд╛рд▓ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕рдм рдПрдХ рдмрдЧ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХ рдмрдЧ рдХрд╛ рдХрд╛рд░рдг рд╣реИ -

рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░, рдореИрдВрдиреЗ рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдпрд╛ рдЗрдВрд╕рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЛрдВрдЧреЛрдбрдм рдкрд░ рдПрдХ рдЯреЗрд╕реНрдЯрд┐рдХрд▓ рдХрд░реНрд╕рд░ рдмрдирд╛рдпрд╛ рд╣реИред рдпрд╣ рд╕рдВрджреЗрд╢ io.sockets.emit () рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐ рдШрдЯрдирд╛ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореБрдЭреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдУрд░ рд╕реЗ рдХрдИ рд░рд┐рдкреАрдЯ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддреЗ рд╣реИрдВред

рдореИрдВ рдПрдХ рдмреЗрд╣рдж рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдкрд░ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдпрд╣ рдмрдЧ рдореЗрд░реЗ рдХреЛрдб рдХреЛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рддреБрдо рд▓реЛрдЧ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗ? рдореБрдЭреЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдереА, рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдФрд░ рдЗрд╕рдиреЗ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХрд╛ рдЗрд╕ @mfkp рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛ рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ, рдХреБрдЫ рдЕрдЬреАрдм рдХрд░ рд░рд╣рд╛ рд╣реЛрдЧрд╛

@Visionmedia рд╕реЗ рд╕рд╣рдордд рдереЗ, socket.io рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдореЗрдВ рдЕрдкрдиреА рдПрдХ рдмрдЧред рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрднреА рднреА 0.6 рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреБрдЫ рдЪреЗрдХ рдФрд░ рдХреНрд▓реАрди рдЕрдк рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реИред

рдУрд╣ рд╕рдордЭрд╛ред рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ; рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ ;-)

рдЗрд╕рдХреЗ рд▓рд┐рдП +1ред рд╣рдорд╛рд░реЗ рдЪреИрдЯ рдРрдк рдореЗрдВ рдЖрдВрддрд░рд╛рдпрд┐рдХ рдореБрджреНрджрд╛ рдЬрд╣рд╛рдВ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдХрдИ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рддрдм рд╕рднреА рдЙрддреНрд╕рд░реНрдЬрди рдХреА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред

+1ред рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдФрд░ рдХреНрд░реЛрдоред рд▓реИрдкрдЯреЙрдк рд╕реЛ рдЬрд╛рддрд╛ рд╣реИ -> рдРрдк рд╡реАрдХрдЕрдк рдХреЗ рдмрд╛рдж рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рддрд╛ рд╣реИ -> рджреЛрд╣рд░рд╛ рдИрд╡реЗрдВрдЯред рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рд╣реА рд╣реЛрддрд╛ рд╣реИред рдЦрд┐рдЪрдбрд╝реА рднрд╛рд╖рд╛ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкреБрдирд░реБрддреНрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИ, рдХреБрдЫ рдкреБрди: рдХрдиреЗрдХреНрдЯ / рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд▓рдВрдмрддрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рдж рдХрдИ рдХрдиреЗрдХреНрд╢рди рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ ?, рдЬреИрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рдл рд╕реЗ, рдЕрдЧрд░ рдореИрдВ рд╕реЙрдХреЗрдЯ .isconnect () рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рд╕рднреА рдХрдиреЗрдХреНрд╢рди рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░ рджреЗрдЧрд╛? рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдХрдИ рдЕрдкрдбреЗрдЯ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рд╕реЙрдХреЗрдЯ = io.connect (url)
рд╕реЙрдХреЗрдЯ.рдСрди ('рдХрдиреЗрдХреНрдЯ', рдлрдВрдХреНрд╢рди () {
рдЕрдЧрд░ (рдмрд╣реБрд╡рд┐рдХрд▓реНрдкреА) {
socket.disconnect ();
socket.removeAllListeners ('рдХрдиреЗрдХреНрдЯ');
io.sockets = {};
рд╕реЙрдХреЗрдЯ = io.connect (url);
socket.on ('рдХрдиреЗрдХреНрдЯ', functionToConnect);
}
})

рдХреГрдкрдпрд╛, рдЗрд╕ https://github.com/LearnBoost/socket.io/issues/474#issuecomment -2833227 рдкрд░ рдкрдврд╝реЗрдВред
рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрдЧ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@ 3-рдИрдбрди - рдХреЛрдИ рднреА рд╡рд┐рдЪрд╛рд░ рдЬрд╣рд╛рдВ рдпрд╣ рдлрд┐рдХреНрд╕ рдЖрдкрдХреА рдЯреВрдбреВ рд╕реВрдЪреА / рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдкрд░ рдкрдбрд╝рддрд╛ рд╣реИ? рдореБрдЭреЗ рдПрдХ рдРрдк рдорд┐рд▓рд╛ рд╣реИ рдЬреЛ рдореИрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рдерд╛, рдФрд░ рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЖрдИрдУрдПрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдареАрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд╕реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд░рдЦрд╛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╛ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЛрдб рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рд╕реЗ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдорд╛рдорд▓рд╛ рд╣рдореЗрд╢рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрдиреЗрдХреНрд╢рди рдЦреБрд▓реЗ рд╣реИрдВ рдФрд░ рд╕рднреА рд╕реЙрдХреЗрдЯ рдбреЗрдЯрд╛ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рдЙрд╕ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдВрдд рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд░реАрдХрдиреЗрдХреНрдЯ рдЯреНрд░рд┐рдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рдорд╡рд░реНрддреА рдХрдиреЗрдХреНрд╢рди рдереЛрдбрд╝рд╛ рдмрджрд╕реВрд░рдд рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж!

@ рдХреНрд░рд┐рд╕ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА рдмрдЧ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдордВрджреА рдХреЗ рдмрд┐рдирд╛ рдмрдЧ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИред

рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

  1. рдПрдХ рд╕рд░рд▓ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдЬреЛ 1 рд╕реЗрдХрдВрдб рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рднреЗрдЬрддрд╛ рд╣реИред
  2. рдирдП рдХрдиреЗрдХреНрд╢рди рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВред
  3. рдбрд┐рд╕реНрдХрдиреЗрдХреНрд╢рди рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВред
  4. рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдз рдмрдирд╛рдПрдВред
  5. рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреЛ рддреЛрдбрд╝реЗрдВред
  6. рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рд╕рд░реНрд╡рд░ рд╕рдордп рд╕реЗ рдмрд╛рд╣рд░ рди рдирд┐рдХрд▓ рдЬрд╛рдП рдФрд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдШрдЯрдирд╛ рди рд╣реЛ рдЬрд╛рдПред
  7. рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрдм рдЧреНрд░рд╛рд╣рдХ рдкреБрди: рдЬреБрдбрд╝рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП 'рдХрдиреЗрдХреНрдЯ' рдЗрд╡реЗрдВрдЯ рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рддреЗ рд╣реБрдП 2-4 рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ 2-4 рдХрдиреЗрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП 'рдХрдиреЗрдХреНрд╢рди' рдИрд╡реЗрдВрдЯ рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХрднреА рднреА рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдХрдиреЗрдХреНрд╢рди рдХреЛ рдмрдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрдЧ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдХрдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдХрдВрдкрдирд┐рдпрд╛рдБ рдЬреЛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рдЬрд╛рдирддреАрдВ, рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реЙрдХреЗрдЯ рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдкрд░ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреА рд╣реИрдВред рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рджреА, socket.io рдореБрдлреНрдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдЗрд╕ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдлрд┐рд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдмрдЧ 0.7.0 рд╕реЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рдЬрдирди рдпреЛрдЧреНрдп рд╣реИред

@davidfooks , @theyakред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрд╣реБрдд рдкрд╣рд▓реЗ рддрдп рдХрд░ рд▓рд┐рдпрд╛ рдерд╛, рдФрд░ рдпрд╣ рдмрд┐рдирд╛ рдЙрдкрджреНрд░рд╡ рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП:

  1. рдЗрд╕ рдкреИрдЪ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ: https://github.com/LearnBoost/socket.io-client/pull/342
  2. AJAX-рд╣реИрдВрдбрд╢реЗрдХ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ (рдФрд░ рд╣реИрдВрдбрд╢реЗрдХ рдХреЗрд╡рд▓ JSONP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░реЗрдВ), рдЬреИрд╕рд╛ рдХрд┐ рдкреБрд▓-рдЕрдиреБрд░реЛрдз рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЖрдк AJAX рд╣реИрдВрдбрд╢реЗрдХ рдХреЛ рдХреИрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрднреА рднреА рд╕рднреА рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдХреЗрд╡рд▓ рд╣реИрдВрдбрд╢реЗрдХ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛?

+1 рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдареАрдХ рдХрд░реЗрдВ :)

рд░реА-рдХрдиреЗрдХреНрдЯ рдореБрджреНрджреЗ рдкрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдорд▓реНрдЯреАрдкрд▓ рдХрдиреЗрдХреНрдЯ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рдореБрджреНрджрд╛ рд╣реИ ...
рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╕реЙрдХреЗрдЯ.рдХрдиреЗрдХреНрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╣реИрдВрдбрд╢реЗрдХ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрдВрд╕реЗрдЯрд┐рдВрдЧ рдлреНрд▓реИрдЧ рдХреЛ рдХреЗрд╡рд▓ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рд╣реИрдВрдбрд╢реЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдореИрдЯрдмреЗрд╕реЗрдХрдиреЗрдХреНрдЯ рдЯрд╛рдЗрдорд░ (рдЯрд╛рдЗрдорд░реНрд╕ рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ) рдХреЛ рдЬрдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рд╕реЙрдХреЗрдЯ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗред рдХрдИ рдкреБрди: рдЬреБрдбрд╝рдиреЗ рдХреЗ рдХрд╛рд░рдг рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
рдореИрдВрдиреЗ Socket.connect рд╡рд┐рдзрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ self.reconnecting рдХреЙрд▓ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХреА рд╣реИред

рдПрдХ рдкреИрдЪ рдмрдирд╛рдпрд╛ рдЧрдпрд╛: https://github.com/LearnBoost/socket.io-client/pull/424

рдЗрд╕ рд╡рд┐рд▓рдп рдХрд╛ рдХреЛрдИ рдореМрдХрд╛?
рдпрд╣ рдмрдЧ рдореЗрд░реЗ рдРрдк рдореЗрдВ рднреА рдЦрд░рд╛рдм рдмрдЧ рдмрдирд╛ рд░рд╣рд╛ рд╣реИред

рдпрд╣ рдмрдЧ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред рджреЛрдиреЛрдВ рдкреИрдЪ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдХреЛрдИ рд╕рдлрд▓рддрд╛ рдирд╣реАрдВред

+1 рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрд╣реБрдд рд╣реИ xhr-polling рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдкреИрдЪ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА

+1, рдореБрдЭреЗ рднреА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреБрдирд░рд╛рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдЬрдм рднреА Node.js рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬрдм рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ), рддреЛ рдореЗрд░рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ (s) X рдХреЛ рдХрдИ рдмрд╛рд░ рдкреБрдирдГ рдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ Node.js рдХреЛ рдЙрд╕ рдмрд┐рдВрджреБ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХреНрд▓рд╛рдЗрдВрдЯ (s) рд╢реБрд░реВ рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдмрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╕реЗ рдкреБрди: рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдИрд╡реЗрдВрдЯ рдХреЛ рдПрдХ рдмрд╛рд░ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ - рдпрд╣ рдХреЗрд╡рд▓ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд╛ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдкрд░ socket.on('disconnect', function() { socket.disconnect(); }); рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред : /

рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реБрдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреНрдпрд╛ рдереАрдВред рдпрд╣ рдмрдЧ рдирд╣реАрдВ рд╣реИ , рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╣рд┐рд╕реНрд╕реЗ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдХреЛрдб рдХрд╛ рдЧрд▓рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдлреЗрд╕рдкрд╛рд▓рдо рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдерд╛:

рдореБрд╕реАрдмрдд:

var socket = io.connect();

socket.on('connect', function () {

  console.log('User connected!');

  socket.on('message', function(message) {

    console.log(message);

  });

});

рдЙрдкрд░реЛрдХреНрдд рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдХрдИ рдХреЙрд▓ рдХрд╛ рдХрд╛рд░рдг рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ () рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ (s) рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВрдиреЗ рдКрдкрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:

рдЙрдкрд╛рдп:

var socket = io.connect();

socket.on('connect', function () {

  console.log('User connected!');

});

socket.on('message', function(message) {

  console.log(message);

});

рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдХрдИ рд╕рдВрджреЗрд╢ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдирд╣реАрдВ рднреЗрдЬреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдХреЛрдб рдХрд╛ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ?

рдирдорд╕реНрддреЗред рдореЗрд░реА рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред рдЬрдм рдореИрдВ рдиреЛрдб рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░ рд░рд╣рд╛ рдерд╛ (рдпрд╛ рдЬрдм рдХрдиреЗрдХреНрд╢рди рдЯрд╛рдЗрдо-рдЖрдЙрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝ рдЧрдпрд╛, рддреЛ рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ n рд╕рдордп (рдЬрд╣рд╛рдВ n рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдереА) рджреНрд╡рд╛рд░рд╛ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдПрдХ рд╣реА рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рдерд╛ред
рдореИрдВрдиреЗ рд╕реЙрдХреЗрдЯ рдХреЗ рдЕрдВрджрд░ рд╕реЗ рдЕрдкрдиреЗ рд╕рднреА рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред ('рдХрдиреЗрдХреНрдЯ' рдлрд╝рдВрдХреНрд╢рди () {...}); рдЗрд╕рдХреЗ рдмрд╛рд╣рд░ рдХрд╛рд░реНрдп рдХрд░рдирд╛ред

рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рд╡рд╣ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд▓реЗрддрд╛ рд╣реИред
рдпрд╣ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рд╕реЗ рдореЗрд░рд╛ рдкреВрд░рд╛ рдЬрд╡рд╛рдм рд╣реИ:
https://groups.google.com/forum/?hl=en&fromgroups# .topic/socket_io/X9FRMjCkPco

@xdanx , рднрдпрд╛рдирдХ, рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╣рд╛рдВ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ: рд╕реЙрдХреЗрдЯ.рдСрди ('рд╕рдВрджреЗрд╢') рдХреЛрдб рдХреЛ 'рдХрдиреЗрдХреНрдЯ' рдЗрд╡реЗрдВрдЯ рдХреЛрдб рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛

рд▓реЗрдХрд┐рди "рдХрдиреЗрдХреНрд╢рди" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдФрд░ рдХреЙрд▓рдмреИрдХ рдореЗрдВ "рд╕реЙрдХреЗрдЯ" рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

/ Nevermind рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, 'рдХрдиреЗрдХреНрдЯ' рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╣реИред рдореИрдВ рдЕрднреА рднреА рд╕реНрдкреИрдорд┐рдВрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рдереА рдЬрдм рдореИрдВрдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рд╡рд╣ 0.9.6 рдореЗрдВ рдерд╛

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд▓рдЧрддреА рд╣реИ ... рдмреНрд▓реЙрдХ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрд╕реЗрдЬ рдХреЛрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЙрдкрд░реЛрдХреНрдд рд╕реБрдзрд╛рд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА .. рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрднреА рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред

0.9.8 рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд░ рдХреЛрдИ рдЦрдмрд░?

рдореЗрд░реА рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ 0.9.10 рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЙрдкрд╛рдп? :(
btw рдЗрд╕рдХреЗ 1+ рд╡рд░реНрд╖ рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░ рдЕрднреА рддрдХ рдХреЛрдИ рдареАрдХ рдирд╣реАрдВ рд╣реИ: ..(

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред

рд╕рдорд╕реНрдпрд╛ рддрдм рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ рдЬрдм рдореИрдВ рдХреЗрд╡рд▓ jsonp- рдорддрджрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реВрдВред
io.set ('рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ', ['jsonp-polling']);

рдореЗрд░реА рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рд╕реЙрдХреЗрдЯред [email protected]
рдиреЛрдб v0.8.8

@semprom рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдореЗрд░рд╛ рдкреВрд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдорддрджрд╛рди рдХреЗ рд╡рд┐рдкрд░реАрдд рд╡реЗрдмрд╕реНрдХреИрдЯ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ,, рдФрд░ рдЬрдм рд╕реЗ рдореИрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред рдЕрдиреНрдпред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рд╣реА рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдореЗрдВ рд╕рдорд╛рди socket.id ред рддреЛ рдЖрдк рд╕реЙрдХреЗрдЯ рдЖрдИрдбреА рдХреА рдЕрдкрдиреА рд╕реВрдЪреА рдХреЛ рдмрдирд╛рдП рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@KasperTidemann рдзрдиреНрдпрд╡рд╛рдж рдЗрд╕рдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ред

@esanai рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ, рдЦреБрд╢реА рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛!

рдирдорд╕реНрддреЗ, рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдХрдиреЗрдХреНрд╢рди рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЙрдХреЗрдЯ рдЖрдИрдбреА рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдорд╛рдзрд╛рди рдпрд╛ рддреЛ io.set ('рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ', ['jsonp-polling']) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ; рдпрд╛ KasperTidemann рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?

@KasperTidemann рдореЗрд░реА рдЕрдЪреНрдЫрд╛рдИ, рдпрд╛рд░, рдпрд╣реА рдореЗрд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЬрд╡рд╛рдм рд╣реИ! рджреЗрдЦреЗрдВ рдЗрд╕ рдкреНрд░рддрд┐рдмрджреНрдз: https://github.com/samuelclay/NewsBlur/commit/76cbbd8d8b2a787985bba724dc3562108492b017#L2L3887

рдореИрдВ рдПрдХ рд╕рд░рд▓ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рдж рдПрдХ рдбрдмрд▓ рдХрдиреЗрдХреНрд╢рди рдИрд╡реЗрдВрдЯ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕ рд╕рд░рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдиреЛрдб.рдЬреЗрдПрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрдЧрд╛:

"use strict";

var server = require('socket.io');
var client = require('socket.io-client');

setTimeout(function () {
    var io = server.listen(8888);

    io.of('/chat').on('connection', function (socket) {
        console.log('Server: /chat connection');
        socket.emit('greeting', 'Hello, who are you?');
    });

    io.sockets.on('connection', function (socket) {
        console.log('Server: connection');
    });
}, 2000);

var socketAddress = 'http://localhost:8888/chat';
var socket = client.connect(socketAddress);

socket.on('connect', function () {
    console.log("Client: connect");
});

socket.on('greeting', function (data) {
    console.log("Client: greeting: ", data);
});

socket.on('error', function () {
    console.log("Client: error");
    socket.socket.reconnect();
});

рдХреЛрдИ рдХрд╛рдо рдПрдХ рджреМрд░ рдпрд╛ рджреГрд╖реНрдЯрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдореИрдВрдиреЗ рдпрд╣ рднреА # 474 рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред

I iOS 9.3.2 рдФрд░ рдХреНрд░реЛрдо рд╡рд░реНрдЬрди 50.0.2661.95 рдХреЗ рд╕рд╛рде iPhone рдкрд░ рдФрд░ рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 1.4.6 рдХреЗ рд╕рд╛рде iOS рдХреЗ рд▓рд┐рдП Safari рдкрд░ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рджреЛрд╣рд░рд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдХреЗрд╡рд▓ рдореЛрдмрд╛рдЗрд▓ рдкрд░ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ рдФрд░ рдпрд╣ рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкреЗрдЬ рдХреЛ рд▓рдЯрдХрд╛ рджреЗрддрд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдзрд╛рд░рдг .on ('рдХрдиреЗрдХреНрдЯ', рдлрдВрдХреНрд╢рди (рд╕реЙрдХреЗрдЯ) {рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рдХрдиреЗрдХреНрдЯреЗрдб');}) рд╣реИ; рдФрд░ рдпрд╣ рджреЛ рдмрд╛рд░ рдХрдиреЗрдХреНрдЯреЗрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред

screenshot 2016-05-27 13 03 44

рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдкрддрд╛ рд╣реИ?

рдпрд╣ рдореБрджреНрджрд╛ рдХреНрдпреЛрдВ рдмрдВрдж рдХрд┐рдпрд╛ рдЧрдпрд╛ ??

14 рдЕрдкреНрд░реИрд▓ 2014 рд╕реЗ рдКрдкрд░ рдХрд╛ рдореЗрд░рд╛ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдЕрдм рдбрдмрд▓ рдХрдиреЗрдХреНрд╢рди рдИрд╡реЗрдВрдЯ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред '' рдЪреИрдЯ '' рдХреЗ рд▓рд┐рдП рдФрд░ рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рдИрд╡реЗрдВрдЯ рд╣реИред рдЬреЛ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИред

рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рднреА рдЕрдм рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред

рдпрд╣ socket.io 1.4.8 рдФрд░ рдиреЛрдб 6.3.0 рдХреЗ рд╕рд╛рде рд╣реИред

рдпрд╣ рдмрдЧ рдореБрдЭреЗ рдПрдЯреАрдПрдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдЬрдм рд╕реЙрдХреЗрдЯ_рд╣реИрдВрдбрд▓рд░реНрд╕ рд░реВрдЯрд┐рдВрдЧ рд░реВрдЯ рдХреЗ рд╕рд╛рде рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдХрдИ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред App.js рдХреЗ рднреАрддрд░ рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рднреАрддрд░ рд╣реИрдВрдбрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╕реЙрдХреЗрдЯ рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреБрдЫ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рд╕реЙрдХреЗрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

@leemlwando рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рдХрд┐ рдореИрдВрдиреЗ рдЬреЛ рдХрд┐рдпрд╛ рд╡рд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдерд╛ рдФрд░ io.destroy (); рд░реАрдХрдиреЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рддрдп рдХрд┐рдпрд╛ред

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @leemlwando рдЖрдкрдХреА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдиреЗ рдореЗрд░реЗ рд╕рд╛рдорд╛рди рдХреЛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ред

рдореБрдЭреЗ рдЕрднреА рднреА рдпрд╣ рдмрдЧ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдПрдХрдорд╛рддреНрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрдЧ рдпрд╣ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдЦрд░рд╛рдм рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рд╕реЗ рднрд░рд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕реЙрдХреЗрдЯ.рдСрди () рдХреЙрд▓ рдХреЛ рд╕реЙрдХреЗрдЯ рдХреЗ рдЕрдВрджрд░ рд▓рдкреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИред ('рдХрдиреЗрдХреНрдЯ') рд╣реИрдВрдбрд▓рд░ред рд╣рд░ рдмрд╛рд░ рд╕реЙрдХреЗрдЯ рд╕рдореЗрдЯрдиреЗ рдХреЗ рдмрд╛рдж, рд╣реИрдВрдбрд▓рд░ рдХреЗ рдирдП рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рдХреЛ рдореМрдЬреВрджрд╛ рд╡рд╛рд▓реЗ рдХреЗ рдКрдкрд░ рд╕реНрдЯреИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рдкрд░ рдХрдИ рдХреЙрд▓ рдЖрддреЗ рд╣реИрдВред рдРрд╕рд╛ рди рдХрд░реЗрдВ: 25 рдЬреБрд▓рд╛рдИ 2012 рд╕реЗ @KasperTidemann рдХрд╛ рдЙрддреНрддрд░ рджреЗрдЦреЗрдВред

рд╢рд╛рдпрдж DrLexO, рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдореИрдВрдиреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕реЙрдХреЗрдЯ рдирд╣реАрдВ рд╣реИред () рдХрд┐рд╕реА рднреА рд╕реЙрдХреЗрдЯ рдХреЗ рдЕрдВрджрд░ рд▓рд┐рдкрдЯрд╛ рд╣реБрдЖ рд╣реИред ('рдХрдиреЗрдХреНрдЯ') рд╣реИрдВрдбрд▓рд░ред

рдЗрди рд╕рднреА рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рдмрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдЧрд░ рдпрд╣ рдЕрднреА рднреА рд╣реИ рдпрд╛ рдирд╣реАрдВ рдпрд╣ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЖрдЬрдорд╛рдирд╛ рд╣реЛрдЧрд╛?

@KasperTidemann рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред

рдЬрдм рдЖрдк socket рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд░рдЦрддреЗ, рддреЛ рдЖрдк connect рд╢реНрд░реЛрддрд╛ рдХреЗ рдЕрдкрдиреЗ рдЗрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛рдУрдВ _outside_ рдХреЛ рдХреИрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

const app = express();
const http = require('http').createServer(app);
const io = require('socket.io')(http);

io.on('connect', function(socket) {

  // only now that we are inside the connect callback do we have access to the socket

  socket.on('join', function(room, user) {
  });

  socket.on('add_message', function(room, user) {
  });

  socket.on('disconnect', function(room, user) {
  });
});

рд▓реЛрдЧреЛрдВ рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛рдУрдВ ( join , add_message рдФрд░ disconnect ) рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, _outside_ connect рд╢реНрд░реЛрддрд╛ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рдмрд┐рдирд╛ рд╕рдВрднрд╡ рд╣реИ socket рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?

io.on('connect', function(socket) {
  // socket is only available here
});

// socket is undefined here

socket.on('join', function(room, user) {
});

socket.on('add_message', function(room, user) {
});

socket.on('disconnect', function(room, user) {
});

рдХреНрдпрд╛ socket рдХреЛ рддрддреНрдХрд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ?

рдпрд╣ рдмрдВрдж рдХреНрдпреЛрдВ рд╣реИ? @ рдорд╛рдЗрдХрд▓-рд▓рд┐рдВрдЪ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡реИрдз рдмрд┐рдВрджреБ рд╣реИ

рдореИрдВ @ рдорд╛рдЗрдХрд▓-рд▓рд┐рдВрдЪ рдХреА рдмрд╛рдд рдХрд╛ рдЬрд╡рд╛рдм рднреА рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

@ DrLex0 socket.io рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдпрд╣ рдирд┐рдореНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ:

io.on('connection', function(socket){
  socket.on('chat message', function(msg){
    io.emit('chat message', msg);
  });
});
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

shashuec picture shashuec  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

thebinarypenguin picture thebinarypenguin  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MichaelJCole picture MichaelJCole  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adammw picture adammw  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

stnwk picture stnwk  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ