Socket.io: рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реЗрдВ

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

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

client.on("*", function(data) {

}

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

рдпрд╣ рдХреИрд╕рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?
рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП on("*", function () { рд▓рд┐рдП +1

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

рдорд╛рди рдЧрдпрд╛ред

EventEmitter2

+1
рдпрд╣ рд╣рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдФрд░ рд╕рднреА рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдирд╣реАрдВред

  • рдПрдХ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛
  • рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдХреЛрдб?)
  • рдХреНрдпрд╛ рдХреИрдЯрдЪреЗрд▓ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдШрдЯрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ? рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
  • рдХреЗрд╡рд▓ рд╕рд┐рдВрдХ рд╡реНрдпрд╡рд╣рд╛рд░ -- рдХреНрдпрд╛ рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо _async_ рдлрд╝рд┐рд▓реНрдЯрд░ рдкреЗрд╢ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛?

+1

рдХреЗрд╡рд▓ рд╕рд┐рдВрдХ рд╡реНрдпрд╡рд╣рд╛рд░ -- рдХреНрдпрд╛ рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо async рдлрд╝рд┐рд▓реНрдЯрд░ рдкреЗрд╢ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛?
@dvv

рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред

EE2 рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдРрд╕реЗ рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЖрджрд░реНрд╢ рдорд╛рдиреВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдХреЛ +1 рдХрд░рддрд╛ рд╣реВрдВ, рднрд▓реЗ рд╣реА рдХреЗрд╡рд▓ "*" рд╕рдорд░реНрдерд┐рдд рд╣реЛ

рд╕рд╣реА рдорд╛рдпрдиреЗ рдореЗрдВ рдкрдХрдбрд╝: manager.on("event", function(client, event, data) {} -- рдмрдВрдж рд╣реЛрдиреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рднреА рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛

рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рдХреИрдЯрдЪреЗрд▓ рд╢реНрд░реЛрддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рддрд┐рд░реЛрдз рдпрд╛рдж рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдПрдХрдорд╛рддреНрд░ рдмрд╣рд╕ рдпрд╣ рдереА рдХрд┐ рд╣рдо "*" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ рдпрд╛ рдпрджрд┐ рд╣рдо рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЬрд╛рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ .addGlobalListener ()

+1
рдореБрдЭреЗ рднреА рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВрдбрд▓рд░ рдЙрди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд▓реЗрддрд╛ рд╣реВрдВред рдЕрдзрд┐рдХрддрд░ рд▓реЙрдЧрд┐рдВрдЧ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред Socket.io рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд▓реЙрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрддреНрдо-рдзрд╛рд░реНрдорд┐рдХ рддрд░реАрдХреЗ рд╕реЗред
DVv -s рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реА рдкрд╕рдВрдж рдХрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рдШрдЯрдирд╛ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рд░рд┐рд▓реЗ рдХрд░реЗрдВ, рдФрд░ рд╣рдо рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдбреАрд╡реАрд╡реА рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╣реИред

рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЧрддрд┐ рджреЗрдВ :)
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред

рдареАрдХ рд╣реИ, рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдЕрднреА рдЕрдкрдиреЗ рдХрд╛рдВрдЯреЗ рдореЗрдВ рдПрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ EE2 рдЬреЛрдбрд╝рд╛ рд╣реИ: https://github.com/einaros/socket.io/commit/2107ff00f3ddf2d781d3e3c3b7dfb1fc990f7ec5

рд╢рд╛рдЦрд╛ рдпрд╣рд╛рдВ рд╣реИ: https://github.com/einaros/socket.io/commits/ee2

рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рдЕрдЧрд░ EE2 рдЕрдЬреАрдм рд╡рд┐рдзрд┐ рдирд╛рдореЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рддрд╛ рд╣реИ рдФрд░ .on('*') рдЬреЛрдбрд╝рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕реЗ +1 рдХрд░ рджреВрдВрдЧрд╛

рдореИрдВ EE2 рдкрд░ -1 рд╣реВрдВ

рдпрд╣ рдХреЛрдб рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдмреНрд▓реЛрдЯ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд╣рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рднреА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд 11.8 рдХреЗрдмреА рдкреБрд╕реНрддрдХрд╛рд▓рдп (рдорд┐рдиреАрдлрд╛рдЗрдб ~ 3.5 рдХреЗрдмреА) рднреЗрдЬрдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдЖрдиреЗ рд╡рд╛рд▓реЗ рдореЛрдмрд╛рдЗрд▓ рдмрд╛рдЬрд╛рд░ рдХреЗ рд╕рд╛рде рдореИрдВ рдЬреНрдпрд╛рджрд╛ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдмрд╛рдЗрдЯ рдмрдЪрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдпрджрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб/рд╕рднреА рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ .. рддреЛ рдпрд╣ рдореМрдЬреВрджрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ all рд╢реНрд░реЛрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдпрд╣ 3 - 5 LOC рдкрд░рд┐рд╡рд░реНрддрди рдХреА рддрд░рд╣ рд╣реЛрдЧрд╛ (рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░;))ред рдФрд░ рд╡рд░реАрдпрддрд╛ рд▓реЙрдХ рдХреЗ рдкреАрдЫреЗ рдЫрд┐рдкрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред EventEmitting рдПрдХ рд╣реЙрдЯ рдХреЛрдб рдкрде рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рдпрдерд╛рд╕рдВрднрд╡ рдЗрд╖реНрдЯрддрдо рдФрд░ рддреЗрдЬрд╝ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдХреИрдЪ-рдСрд▓ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЙрд╕рдХреЗ рдмрд╛рдж рдИрд╡реЗрдВрдЯ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ

рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб, рдпрд╛ EE2 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХрд╛ рдЬрд░реВрд░реА рд╣реИред

рдЕрдЧрд░ EE2 ... рдЬреЛрдбрд╝рддрд╛ рд╣реИ .on('*') рдореИрдВ рдЙрд╕реЗ +1 рдХрд░ рджреВрдВрдЧрд╛

рдЯреАрдЬреЗ рдпреВ рдХреНрд░реЗрдЬреА рднрд╛рдИ...

server.on('foo.*', function(value1, value2) {
  console.log(this.event, value1, value2);
});

рд╡рд╣ EE2 рдХреЗ README рд╕реЗ рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, "рдлреВред" рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред

рдЕрдЧрд░ EE2 рдЕрдЬреАрдм рд╡рд┐рдзрд┐ рдирд╛рдореЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рддрд╛ рд╣реИ

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред

@pyrotechnick EE2 .on('*') рдПрдХ рдХреИрдЪ-рдСрд▓ iirc рдирд╣реАрдВ рд╣реИ

* рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХреИрдЪ-рдСрд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЖрдБрдЦ рдмрдВрдж рдХрд░рдХреЗ рдкрдХрдбрд╝ рд▓реЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдкрдХрдбрд╝ рд▓реЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреИрдЯрд░реНрди * рд╕рднреА рдЪреИрдирд▓реЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

рдпрд╣ рдЕрдХреНрд╖рдо рд╣реИ; рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЧрд▓рдд рд╕рдордЭрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк рд╕рд╣реА рд╣реЗ...

{EventEmitter2} = require 'eventemitter2'

emitter = new EventEmitter2 wildcard: on

emitter.on '*', ->
  console.log <strong i="6">@event</strong>, arguments...

emitter.emit 'foo'
emitter.emit 'foo.bar'
isabel:hydrogen pyrotechnick$ coffee test.coffee 
foo

рдЬрдм рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рдореИрдВ рд▓рдЧрднрдЧ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред

рдЬрдм рдореИрдВ рдЗрди рд╕рднреА рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб/"рдиреЗрдорд╕реНрдкреЗрд╕реНрдб" рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдореБрдЭреЗ рджреБрдЦреА рдХрд░рддрд╛ рд╣реИ; рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИ - рд╡реЗ // рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ рдпрд╛ RegExp рд╕рд╛рде рдмрдирд╛рдП рдЧрдП рд╣реИрдВред рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ?

рдХреНрдпрд╛ рдореИрдВ рдЗрд╕рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рдлрд┐рд░ рд╕реЗ +1 рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕реЗ рдЖрдЧрд╛рдореА рд░рд┐рд▓реАрдЬ рдореЗрдВ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдХрд┐рд╕реА рдиреЗ рдпрд╣рд╛рдВ рд╕рдорд╛рдзрд╛рди рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛: http://stackoverflow.com/questions/8832414/overriding-socket-ios-emit-and-on/8838225

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

рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реЗрдВ .. рдЗрд╕ рддрд░рд╣, рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рд╕рдВрдЬреНрдЮрд╛рдУрдВ рдХреА рд╢реНрд░реЗрдгреА рдХреЛ рдкрдХрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

+1

+1

+1

+1

+1

рдореБрдЭреЗ рдПрдХ рд╕реБрдкрд░ рдЧреНрд▓реЛрдмрд▓ рдкрджреНрдзрддрд┐ рдХрд╛ рд╢реМрдХ рд╣реЛрдЧрд╛ рдЬреЛ рд╕рдм рдХреБрдЫ рд╕рдВрднрд╛рд▓рддреА рд╣реИ

io.set('global_listener', function(namespace, event, args, emit){
// рдиреЗрдорд╕реНрдкреЗрд╕ рдЗрд╡реЗрдВрдЯ рдФрд░ рддрд░реНрдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдХрд░реЗрдВ
// рдореИрдВ рдЙрд╕ рдиреЗрдорд╕реНрдкреЗрд╕ рдФрд░ рдЙрд╕ рдЗрд╡реЗрдВрдЯ рд╕реЗ рдЬреБрдбрд╝реЗ рдЗрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдорд┐рдЯ () рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрд╛ рдирд╣реАрдВ
});

io.set('global_authorization', function(namespace, handshakeData, рдХреЙрд▓рдмреИрдХ){
// рдиреЗрдорд╕реНрдкреЗрд╕ рдФрд░ рд╣реИрдВрдбрд╢реЗрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбреЗрдЯрд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ
});

рдореБрдЭреЗ рдПрдХ рдПрдорд┐рдЯрд░ рдХреА рдЬрд░реВрд░рдд рдереА рдЬреЛ рдХреИрдЪ-рдСрд▓ рдП рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реЛред рд▓рд╛. socket.on("*") , рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛, рдФрд░ рдЕрднреА рднреА рд╣рд▓реНрдХрд╛ рд╡рдЬрди рдерд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ UI рдХрд┐рдЯ рд╕реЗ @visionmedia рдХрд╛ рдПрдорд┐рдЯрд░ рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдмрдврд╝рд╛рдпрд╛ред рд╢рд╛рдпрдж рдпрд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧрд╛ред рддреЛ, рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдБ рдЫреЛрдбрд╝ рджреВрдБрдЧрд╛: https://github.com/HenrikJoreteg/wildemitter

@ рд╣реЗрдирд░рд┐рдХ рдЬреЛрд░реЗрдЯреЗрдЧ
рд╣рдо рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ '*' рдХреЛ https://github.com/component/emitter рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рд╛рде рд╣реА, рд╡рд╣ рдПрдорд┐рдЯрд░ рдЕрдЧрд▓реЗ рд╕реЙрдХреЗрдЯ рдХреЛ рдкрд╛рд╡рд░ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдЗрд╕рдореЗрдВ off рд╢реЙрд░реНрдЯрдХрдЯ removeListener рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╣реИ :D

рдУрд╣ рдХрдорд╛рд▓!

+1

++

+1

+1

+1

+1

+1

+1

+1

+1

+1

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ? рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдирд┐рд╢рд╛рди?

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ _sort of_ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдЙрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ ... '*' рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддрд░рд╣

https://github.com/Attorney-Fee/socket.io

+1

+1

+1

+1

+1

+1

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

+1

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

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

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рджрд╛ рдФрд░ рд╕рд░рд▓ "рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдм рдХреБрдЫ рдкрдХрдбрд╝рдиреЗ" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди RegEx рд╕рдорд░реНрдерди рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ (рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЬрд┐рд╕рдиреЗ рд╕реНрд░реЛрдд рдХреЛ рдмрд╣реБрдд рдХрд░реАрдм рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ) рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ . рдореИрдВ рдЕрдкрдиреЗ Express.JS рд░реВрдЯреНрд╕ рдореЗрдВ рд╣рд░ рд╕рдордп рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ; рд╕реЙрдХреЗрдЯ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдкрд░рд┐рд╡рд╣рди рдкрд░рдд/рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗрдЧрд╛ред рдЖрдк рдХреЗрд╡рд▓ рдирдХреНрд╢рд╛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдПрдХ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ (regexp рдЖрдзрд╛рд░рд┐рдд) рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рд╕рд┐рд░реЛрдВ рдкрд░ 'рдЙрддреНрд╕рд░реНрдЬрди' рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВрдЧреЗред

рддреНрд╡рд░рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реБрдЭрд╛рд╡:

  • рдШрдЯрдирд╛ рдХреЗ рдирд╛рдо рдореЗрдВ '*' рдорд┐рд▓рдиреЗ рдкрд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП on рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ
  • рдкрд╣рд▓реЗ рдлрд╛рд╕реНрдЯ рдХреЗрд╕ (рдирд┐рдпрдорд┐рдд рдирдХреНрд╢рд╛ рд▓реБрдХрдЕрдк) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП emit рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ, рдлрд┐рд░ '*' рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╡реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

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

рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рдмрд╛рд╣рд░, рдХреНрдпрд╛ рд╣рдо рдпреВрдЬрд╝рд░рд▓реИрдВрдб рд╕реЗ рд╕реЙрдХреЗрдЯ.рдореИрдиреЗрдЬрд░.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.рдСрдирдХреНрд▓рд╛рдЗрдВрдЯрдореИрд╕реЗрдЬ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?

рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рдФрд░ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛, рдиреЛрдб рдореЗрдВ, socket.io рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдмрд╣реБрдд рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЯреВрдЯрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЖрдк рдлреЛрд░реНрдХрд┐рдВрдЧ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВред

https://gist.github.com/lmjabreu/5714985

рдХреНрдпрд╛ рдХреЛрдИ рдХреЗрд╡рд▓ process.EventEmitter = require('eventemitter2').EventEmitter2 рдкрд╣рд▓реЗ рдХрднреА рдЬреЛрдбрд╝ рдирд╣реАрдВ рд╕рдХрддрд╛ рдерд╛ socket.io рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ...

рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рдЦреЛрд▓рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпреВрдЬрд░рд▓реИрдВрдб рдлрд┐рдХреНрд╕ рдирд╣реАрдВ рд╣реИред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдкреВрд░реНрдг рд░реЗрдЧреЗрдХреНрд╕ рд╕рдорд░реНрдерди рдпрд╛ рдХреБрдЫ рднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реЙрдХреЗрдЯ.рдСрди ('*') рдПрдХ рд▓рдВрдмрд╛ рд╕рдлрд░ рддрдп рдХрд░реЗрдЧрд╛ред

рдпрд╣ рдЯрд┐рдХрдЯ рдЕрднреА 2 рд╕рд╛рд▓ рдкреБрд░рд╛рдирд╛ рд╣реИред

рдХреНтАНрдпрд╛ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ, рдХреНтАНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНтАНрдкрд╖реНтАНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ?

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

рдХреНрдпрд╛ рдХреЛрдИ рджреЗрд╡ рдХреГрдкрдпрд╛ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реИ?

рд▓рдЧрднрдЧ рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рд╕рд╣рдордд, рдлреИрдВрд╕реА рд╕рд╛рдорд╛рди рдХрдо рдмрд╣рд╕ рдХрд╛ рд╡рд┐рд╖рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдХреИрдЪ-рдСрд▓ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреНрд▓реАрдирд░ рд╣реЛрдЧреАред

рдпрд╣ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдореМрдЬреВрдж рд╣реИ, рдХрд┐рд╕реА рдиреЗ рдкрд╣рд▓реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд▓рд┐рдВрдХ рджреЗрдЦреЗрдВ
http://stackoverflow.com/questions/8832414/overriding-socket-ios-emit-and-on/8838225

рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :)

+1

рдХреНрдпрд╛ рдордВрдХреА рдкреИрдЪрд┐рдВрдЧ рдХреБрдЫ рдРрд╕рд╛ рд╕рд░рд▓ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдПрдХ рдмреБрд░реЗ рдЕрднреНрдпрд╛рд╕ рдХреА рддрд░рд╣ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдмрдбрд╝рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, Backbone.Events рдЬреИрд╕рд╛ рдХреБрдЫ рд╕рд░рд▓ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рджреЗрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдмреИрдХрдмреЛрди "*" рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реИрд╢реНрд╡рд┐рдХ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП "рд╕рднреА" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдореВрд▓ рд░реВрдк рд╕реЗ рдмреБрд▓рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдИрд╡реЗрдВрдЯ рдирд╛рдо рдореЗрдВ рдЧреБрдЬрд░рдирд╛, рдЬреЛ рдХрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИ)ред (рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕реБрдЭрд╛рд╡ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐) =)

RegExp рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ +1, рдпрд╣ "*" рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдХрдо рдХрдВрд╕реЛрд▓ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдирд╡реАрдирддрдо рдЖрд╡рд╛рдЬреЛрдВ рдХреА рддрд░рд╣, рдХреИрдЪ-рдСрд▓ рдлрд╝рдВрдХреНрд╢рди рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд▓рдЧрддрд╛ рд╣реИред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ socket.io рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдЖрдИрдПрдордУ рдХреЛ рджреЛрд╖ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдореЗ рд╣реБрдП рдПрдкреАрдЖрдИред

:+1:

рдпрджрд┐ рдХреЛрдИ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА 0.9.x рдФрд░ 1.0.0 рдкрд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдИрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдвреВрдВрдв рд░рд╣рд╛ рд╣реИ: https://www.npmjs.org/package/socketio-wildcard

рдЕрджреНрднреБрдд @geoah !

@guille рд╣реЗ , рдпрд╣ рдореЗрд░рд╛ рдирд╣реАрдВ рд╣реИ рдореИрдВ рдмрд╕ рдЗрд╕ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИред рдЖрдк рд╕рднреА рдХреА рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ ^_^

рдХрд▓ рд░рд╛рдд socket.io рдХреЗ рд▓рд┐рдП рдПрдХ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЛ рд╡реНрд╣рд┐рдк рдХрд┐рдпрд╛ред

https://www.npmjs.org/package/socket.io-events

+1
рдирдП рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рдКрдкрд░реА рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдХрдЯреМрддреА рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬрдм рдбреЗрдЯрд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ред
@geoah рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╡рд╣реА рдХрд┐рдпрд╛ рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП рдерд╛!

рдпрджрд┐ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ socket.io рдХреЛ рд╡реИрд╕реЗ рд╣реА рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдиреЛрдб рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ EventEmitter , рдФрд░ рдиреЛрдб рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ "socket.io-ism" рдмрди рдЬрд╛рдПрдЧрд╛ред рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ Node рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рдЪрд░реНрдЪрд╛ рд╣реБрдИ рдФрд░ рдпрд╣ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖред

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

рд╡реЗ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рддрд░реНрдХ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ EventEmitter рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдиреЛрдб рд╕реЗ рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗред рдФрд░ @ DanH42 рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде

рдпрджрд┐ рдХреЗрд╡рд▓ рдиреЛрдб рдХрд╛ EventEmitter рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

:+1:

рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЪреВрдХ рдЧрдпрд╛, рдореИрдВрдиреЗ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдкрд░ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛:
https://github.com/Automattic/socket.io/issues/1715
рдЗрд╕рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рд╕реЙрдХреЗрдЯ.io 1.0 рд╕реЗ рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдореИрдВ рдмрд╕ рдЗрд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореЗрд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИред : рд╕рд┐рд╕рдХрдирд╛:

+1
рдХрднреА-рдХрднреА, рдЖрдкрдХреЛ рдЙрди рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдкреНрд░рдЪрд╛рд░ рдХрд░ рд░рд╣реА рд╣реИрдВ!

+1

  • 1

рдореИрдВ hden рдХреЗ рд╕реЙрдХреЗрдЯрд┐рдпреЛ-рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдорд╛рдкреНрдд рд╣реБрдЖ; рдпрд╣ рд╕рдмрд╕реЗ рдкрд╛рд░рджрд░реНрд╢реА рддрд░реАрдХрд╛ рд▓рдЧрддрд╛ рд╣реИ (рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди: +1: рдЗрд╕реЗ рдХреЛрд░ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП!

рдзрдиреНрдпрд╡рд╛рдж рдореИрдЯ! рдореИрдВ рдмрд╣ рдЧрдпрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рд╣реЛрдЧрд╛
рд╕реБрдзрд╛рд░

рдореЗрд░реЗ рдЖрдИрдлреЛрди рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛

рем рдЬрдирд╡рд░реА реирежрезрел рдХреЛ рд╕реБрдмрд╣ рео:рейреж рдмрдЬреЗ рдореИрдЯ рдлреНрд▓реЗрдЪрд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВрдиреЗ @NathanGRomano https://github.com/NathanGRomano 's . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛
рд╕реЙрдХреЗрдЯрд┐рдпреЛ-рдЗрд╡реЗрдВрдЯреНрд╕ https://www.npmjs.com/package/socket.io-events рдореЙрдбреНрдпреВрд▓; рдпрд╣
рд╕рдмрд╕реЗ рдкрд╛рд░рджрд░реНрд╢реА рддрд░реАрдХрд╛ рд▓рдЧрддрд╛ рд╣реИ (рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдФрд░ рдХрд╛рдлреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗред рд▓реЗрдХрд┐рди [рдЫрд╡рд┐:: +1:] рдЗрд╕реЗ рдХреЛрд░ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП!

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/Automattic/socket.io/issues/434#issuecomment -68864750ред

+1

+1

++++++

+1 рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рдмрд╕ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдмрд╛рдд рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдПрдХ рд╢реЙрдЯ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдХреЛрдбрдмреЗрд╕ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдореИрдВ рд╢рд╛рдпрдж рдРрд╕реЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдмрд┐рддрд╛рдКрдВрдЧрд╛ред рд░реЗрдЧреЗрдХреНрд╕ рдкреИрдЯрд░реНрди рдкрд░ рдЖрдкрдХреЗ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ? рдмрд╣реБрдд рдзреАрдорд╛? рдмреЗрд╢рдХ, рдореИрдВ рдЕрдкрдирд╛ рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЕрдЧрд░ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рд▓рдп рдХреЗ рд▓рд┐рдП рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ (рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ рддреЛ рдкрд░реЗрд╢рд╛рди рдХреНрдпреЛрдВ рд╣реИ, рд╣реИ рдирд╛?) рдХреНрдпрд╛ рдХреЛрдИ рдЕрдиреБрд░рдХреНрд╖рдХ рдХреГрдкрдпрд╛ рд╕рд▓рд╛рд╣ рджреЗрдЧрд╛?

рдореИрдВрдиреЗ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓рд┐рдЦрд╛ socket.io-eventsред рдореИрдВ рдХрд╛рдо рдФрд░ рдЬрд░реВрд░рдд рдХреЗ рд╕рд╛рде рдмрд╣ рдЧрдпрд╛ рд╣реВрдВ
рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЫреВрдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдкрд╛рд╡рддреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ

рд╢рдирд┐рд╡рд╛рд░, рдЬреБрд▓рд╛рдИ реирел, реирежрезрел рдХреЛ, рдЬреЙрди рдореИрдВрдХреЛ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рдмрд╕ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдмрд╛рдд рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ a
рдЧреЛрд▓реА рдорд╛рд░ рджреА рдореБрдЭреЗ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдХреЛрдбрдмреЗрд╕ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдореИрдВ рд╢рд╛рдпрдж
рдРрд╕реЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░реЗрдВред рдЖрдкрдХреА рдХреНрдпрд╛ рд╣реИрдВ
рд░реЗрдЧреЗрдХреНрд╕ рдкреИрдЯрд░реНрди рдкрд░ рд╡рд┐рдЪрд╛рд░? рдмрд╣реБрдд рдзреАрдорд╛? рдмреЗрд╢рдХ, рдореИрдВ рдЕрдкрдирд╛ рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ
рд╕рдордп рдЕрдЧрд░ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рд▓рдп рдХреЗ рд▓рд┐рдП рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ (рдореИрдВ рдирд╣реАрдВ
рдкрд░рд╡рд╛рд╣ рд╣реИ рдЕрдЧрд░ рдореЗрд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ рддреЛ рдХреНрдпреЛрдВ
рдкрд░реЗрд╢рд╛рди, рд╣реИ рдирд╛?) рдХреНрдпрд╛ рдХреЛрдИ рдЕрдиреБрд░рдХреНрд╖рдХ рдХреГрдкрдпрд╛ рд╕рд▓рд╛рд╣ рджреЗрдЧрд╛?

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/socketio/socket.io/issues/434#issuecomment -124901706ред

+1

+1 рдпрд╣ рдореБрджреНрджрд╛ 5 рд╕рд╛рд▓ рдкреБрд░рд╛рдирд╛ рд╣реИред рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╕рдкреЛрд░реНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ?

+1

+1

+1

+1

+666

+1

рджреЛрд╕реНрддреЛрдВ, рдЧрдВрднреАрд░рддрд╛ рд╕реЗред рд╣рд░ рдХреЛрдИ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ- рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЖрдЗрдП рд╕рднреА рдкреНрд▓рд╕-рд╡рди рдХреЗ рд╕рд╛рде рд░реБрдХреЗрдВ, рдХреГрдкрдпрд╛? рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдЧрддрд┐ рд╣реЛрдиреЗ рдкрд░ рдореБрдЭреЗ рдПрдХ рдЕрдкрдбреЗрдЯ рдИрдореЗрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдпрд╣ рдЬрд╛рдирдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЧрд┐рдЯрд╣рдм рдореЗрдВ рдорддрджрд╛рди рдкреНрд░рдгрд╛рд▓реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП?

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╕рдорд╛рдзрд╛рди рдЕрдм рдХрдИ рдмрд╛рд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА +1 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╕реНрдХреНрд░реЙрд▓ рдЖрдЙрдЯ рдСрдл рд╡реНрдпреВ рд╣реИред

рд╕реЙрдХреЗрдЯрд┐рдпреЛ-рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдореЙрдбреНрдпреВрд▓ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рдмреЗрд╢рдХ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдирд╡реАрдирддрдо рдиреЛрдб рдореЗрдВ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)ред
рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдХреЛрдИ рд╕рдордЭрд╛ рд╕рдХреЗ рдХрд┐ рдпрд╣ lib рдЙрдкрдпреБрдХреНрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?

рд╣рд╛рдБ, рд╕реЙрдХреЗрдЯрд┐рдпреЛ-рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреЛрд░ рдореЗрдВ рдкреЗрд╢ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕ рдкреВрд░реЗ рдореБрджреНрджреЗ рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдВред рд╕рд╛рде рд╣реА рдпрд╣ рднреНрд░рдо рдХреА рдХрд┐рд╕реА рднреА рдЬрдЧрд╣ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ (рдЕрдХреНрд╕рд░ рдЗрд╕реА рддрд░рд╣ рдирд╛рдорд┐рдд)ред рдпрд╣ рднреА рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЧрд┐рдЯрд╣рдм рдореЗрдВ рдорддрджрд╛рди рдкреНрд░рдгрд╛рд▓реА рд╣реЛрддреА, рдпрджрд┐ рдХреЗрд╡рд▓ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрддрд╛ рддреЛ рд╣рдо рдЙрд╕ рдкрд░ рдорддрджрд╛рди рдХрд░ рд╕рдХрддреЗ рдереЗ...!

рдореИрдВ рдЧреВрдВрдЧрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдИрдУ рдХреНрд▓рд╛рдЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕реЙрдХреЗрдЯрд┐рдпреЛ-рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреИрд╕реЗ рд╕реЗрдЯ рдЕрдк рдХрд░реЗрдВред рдЗрд╕реЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ, _рдЧрдВрднреАрд░рддрд╛ рд╕реЗ_ рдХреЛрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдХреЗ рдЕрдиреБрд░рдХреНрд╖рдХ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдХреЗрд╡рд▓ рдлреЛрд░реНрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣рдо рд╕рднреА рд╡рд╣рд╛рдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИ рдФрд░ рдореБрдЭреЗ рдЕрдм рд╕реЙрдХреЗрдЯ рдореЗрдВ рд╢реВрдиреНрдп рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИред

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

@ n2liquid рдпрд╣ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдореВрд▓ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЪрд░реНрдЪрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рдЕрдиреНрдп рдиреЛрдб рдШрдЯрдирд╛ рдЙрддреНрд╕рд░реНрдЬрдХ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡рд╣рд╛рдВ рдПрдХ рдЪрд░реНрдЪрд╛ рднреА рд╣реБрдИ рд╣реЛред

@rauchg

рдпрд╣ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдореВрд▓ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЪрд░реНрдЪрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ

рдХреНрдпрд╛ рддрдм рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

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

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдореВрд▓ рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд┐рдирд╛ socket.io рдХреЗ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдареЛрдХрд░ рдЦрд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╛ рдЗрд╕реЗ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ socket.io рдореЗрдВ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рддрд░реНрдХ рд╣реИрдВ?
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди 'рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рд╕рд╣реА' рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдореЗрдВ рдЗрди 'рдХреИрдЪреЙрд▓' рд╣реИрдВрдбрд▓рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдорд╛рдирдХ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред
рд▓реЛрдЧреЛрдВ рдХреЛ рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкрд░рд┐рд╡рд╛рдж рдпрд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдЪреАрдЬреЛрдВ рдХреЛ рдЦрдВрдбрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдФрд░ рднреА рдирд╛рдЬреБрдХ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдХреЛрдбрдмреЗрд╕ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

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

@rauchg рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ socket.use(function(data,next){..}) рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдЧрд╛ рдЬреЛ рд╕реЙрдХреЗрдЯ рдкрд░ рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдЕрдЧрд▓рд╛() рдлрд╝рдВрдХреНрд╢рди рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХреИрдЪреЙрд▓ рд╕реЗ рдмрд╛рдж рдХреЗ рдХреИрдЪреЙрд▓ рдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ .

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ рдЕрднреА socket.io рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкреНрд░рддрд┐/рдорд┐рдирдЯ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЖрдо рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИред рдореЗрд░реЗ 2 рд╕реЗрдВрдЯ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореБрдЭреЗ @ Michael77 рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рд╣реИред рдпрд╣ рдЗрд╡реЗрдВрдЯ рдПрдорд┐рдЯрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдирд╣реАрдВ рдЫреВрддрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЪреАрдЬреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП @ рдорд╛рдЗрдХрд▓ 77 рдХрд╛ рд╕рдВрджреЗрд╢ рдереНрд░реЙрдЯрд▓рд┐рдВрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ)ред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ socket.io рдореЗрдВ рдПрдХ рдорд┐рдбрд▓рд╡реЗрдпрд░/рдЙрдкрдпреЛрдЧ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕реА рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

@carpii _not_ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рд╣реЛрддреЗ рд╣реИрдВ: рдЬрдЯрд┐рд▓рддрд╛ рдЬреЛрдбрд╝рдирд╛, рдкрд░рд┐рдЪрд┐рддрддрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рджреЛрдиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреА рд╣реИред

рдореБрдЭреЗ socket.use рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рдкрд╕рдВрдж рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж @carpii @Michael77 @n2liquid рдЗрд╕

@rauchg , рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╕реЙрдХреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрди рдмреБрд░реА рдмрд╛рддреЛрдВ рдХреЛ рдХрд╣рд╛ред рдореЗрд░рд╛ рджрд┐рди рдЦрд░рд╛рдм рдЪрд▓ рд░рд╣рд╛ рдерд╛ред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж; рдпрд╣ рд╕рд╣реА (рдЕрднреА рддрдХ) рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛: https://github.com/hden/socketio-wildcard/issues/13

@n2liquid _all_ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ - рдзрдиреНрдпрд╡рд╛рдж (рдФрд░ @hden рдХреЛ socket.io-wildcard рдкрд░ рдЙрд╕ рддреНрд╡рд░рд┐рдд рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП)ред

рд╕реНрдХреЛрдХреЗрдЯрд┐рдпреЛ-рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдз рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдХреЙрд▓рдмреИрдХ рдореЗрдВ рдИрд╡реЗрдВрдЯ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рднреА рдЪрд╛рд╣рд╛, рддрд╛рдХрд┐ рдореИрдВ рд╕реЙрдХреЗрдЯ рд╢реНрд░реЛрддрд╛ рдХреЛ рд▓рдкреЗрдЯ рд╕рдХреВрдВ рдФрд░ рдЕрдкрдиреЗ рд╢реЗрд╖ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реАрдзреЗ рд╕реЙрдХреЗрдЯ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд░реИрдкрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░ рд╕рдХреВрдВред рдореЗрд░реА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╡реЗрдВрдЯ рдПрдорд┐рдЯрд░ 2 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдХреБрдЫ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИ, рд╕реАрдзреЗ рд╕реЙрдХреЗрдЯ рдХрд╛ рдкрд░реНрджрд╛рдлрд╛рд╢ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ? рд░реИрдкрд░ рдореЗрдВ 'рдиреНрдпреВ рд▓рд┐рд╕реНрдЯрдирд░' рд╕реБрдирдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ (рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╕реЙрдХреЗрдЯ рдЗрд╡реЗрдВрдЯ рдкрд░ рдХреИрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдХреЗрд╡рд▓ рд░реИрдкрд░ рдореЗрдВ рдПрдХ рдирдИ рдШрдЯрдирд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реЙрдХреЗрдЯ рдЗрд╡реЗрдВрдЯ рдХреЛ рдХреИрд╕реЗ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдП)? рдХреЙрд▓рдмреИрдХ рдХреЗ рднреАрддрд░ рдИрд╡реЗрдВрдЯ рдирд╛рдо рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рдФрд░?

@akotlar рдпрджрд┐ рдЖрдк scoketio-wildcard рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдИрд╡реЗрдВрдЯ рдХрд╛ рдирд╛рдо рдХреЙрд▓рдмреИрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред

рдЖрд╣, рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕реЗ socket.io-wildcard readme рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдХреИрд╕рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?
рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП on("*", function () { рд▓рд┐рдП +1

+1 рд╕рднреА рддрд░рд╣ рд╕реЗ

@ alexey -sh https://github.com/hden/socketio-wildcard рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкрдврд╝реЗрдВрдЧреЗ, рддреЛ рд╣рд╛рдБ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

@hden рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рд╣рд╛рдБ рдореИрдВрдиреЗ рдЗрд╕реЗ рджреЗрдЦрд╛ рдФрд░ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реАрдзреЗ Socket.IO рдХреЛрд░ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреБрдЫ рднреА рдирд╣реАрдВ рдмреЛрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдореБрдЭрд╕реЗ +1 рдорд┐рд▓рддрд╛ рд╣реИред

рдЗрд╕реЗ рд╕рднреА рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдИрд╡реЗрдВрдЯ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрдк рд▓реЙрдЬрд┐рдХ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

socket.emit('public-event', {'type': 'login', ...});
socket.emit('public-event', {'type': 'logout', ...});

+1 рднрд▓реЗ рд╣реА рдореБрджреНрджрд╛ рдмрдВрдж рд╣реЛред

+ЁЯТп рдзрдорд╛рдХрд╛!

+1 !!!!

рдХреГрдкрдпрд╛ socket.use рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдХреНрдпрд╛ socket.use() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ engine.io рдХреЗ рдкрд┐рдВрдЧ/рдкреЛрдВрдЧ рддрдВрддреНрд░ рдореЗрдВ рд╣реБрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдореБрдЭреЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрдиреЗрдХреНрд╢рди рдЦреЛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╡реНрдпрд╛рдкрдХ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдкрд┐рдВрдЧ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдХрд╛рд░рдг рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЧрдП рд╣реИрдВред

рдореИрдВ рдкрд┐рдВрдЧ/рдкреЛрдВрдЧ рдкреИрдХреЗрдЯ рд▓реЙрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реЙрдХреЗрдЯред рдЙрдкрдпреЛрдЧ() рдХреЗрд╡рд▓ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдИрд╡реЗрдВрдЯ рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ, рди рдХрд┐ рдЗрдВрдЬрдиред рдЖрдИрдУ рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓

+1

+1

2011 рд╕реЗ +1? рд╡реЗ рдпрд╣ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред :(

рдлрд┐рд░ рд╕реЗ, рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП socket.use рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛: https://socket.io/docs/server-api/#socket -use-fn

@darrachequesne рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдкрд░ рдПрдХ рд╡рд┐рдзрд┐ рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдорджрдж рдХрд░рддреА рд╣реИ (рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╣реИ)ред

рдЗрд╕ рдкрд░ рдФрд░? рдЪреВрдБрдХрд┐ socket.use рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╣реИ, рдпрд╣ рдЯрд┐рдХрдЯ рдХреНрдпреЛрдВ рдмрдВрдж рд╣реИ?

рдореБрдЭреЗ socket.use рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИред рдХреИрд╕реЗ рдмрджрд▓реЗрдВ

// Server
io.in('room1').emit('backend', data_out);
io.in('room1').emit('frontend', data_out);

рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд╛рде

// Server
io.in('room1').emit('*end', data_out);  // not working code - proper regex would be nice

рдпрд╛

// Client
socket.on('*end', function(data){  // not working code - proper regex would be nice

рдПрдХ рдЫреЛрдЯрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ - рд╕рднреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛:

// Client
var lala = function(data){ 
    // example
}
socket.on('backend', lala);
socket.on('frontend', lala);
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

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

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

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