Socket.io: рдЕрд╕реНрдкрд╖реНрдЯреАрдХреГрдд рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ 'рдкрд░рд┐рд╡рд╣рди рдЕрдВрдд' рдЙрдиреНрдирдпрди рдХреЗ рдмрд╛рдж

рдХреЛ рдирд┐рд░реНрдорд┐рдд 3 рдорд╛рд░реНрдЪ 2012  ┬╖  73рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: socketio/socket.io

рдЕрдкрдиреЗ package.json рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдЬ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ npm_install рдЪрд▓рд╛рдпрд╛ред рдореИрдВрдиреЗ socket.io рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирд╡реАрдирддрдо рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рднреАрддрд░ ? рдореЗрд░реЗ рдЖрд╡реЗрджрди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдПрдХ рдорд┐рдирдЯ рдпрд╛ рдЙрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рд╕рдордп рдореЗрдВ, рдореЗрд░рд╛ рд╕реЙрдХреЗрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдореБрдЭреЗ рдиреЛрдб.рдЬреЗрдПрд╕ рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ 'рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдПрдВрдб' рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ websockets рдХреЗ рд▓рд┐рдП socket.io рд╕реЗрдЯ рд╣реИред рдореИрдВ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХреНрд░реЛрдо 13 рдкрд░ рд╣реВрдВред

рдореИрдВ package.json рдореЗрдВ рдЧрдпрд╛ рдФрд░ рдЗрд╕реЗ 0.8.7 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛, npm install рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдпрд╛, рдФрд░ рдЕрдм рдореИрдВ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред

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

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

0.9.1 рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХреЗ рд╕рд╛рде рдПрдХ рдмрдЧ рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред
рдореИрдВ рдЗрд╕реЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдХрд▓ 0.9.2 рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рдареАрдХ рд╡реИрд╕рд╛ рд╣реАред рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ Mac, рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ Chrome рдФрд░ FF рдореЗрдВ рдмрд╛рд░-рдмрд╛рд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ/рдкреБрдирдГ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рджреЗрдЦрдирд╛ред
рд░реАрдбрдореА рдореЗрдВ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЕрдЫреВрддреА рд╣реИрдВред

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

рдореЗрд░реЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреНрд▓реЛрдЬ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛:

io.configure( function() {
    io.set('close timeout', 60*60*24); // 24h time out
});

рдореБрдЭреЗ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рдереАред рдХрд╛рдордХрд╛рдЬ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд╕реНрдЯреАрдлреЗрдирд╡реЗрдЯред

рд╣рд╛рдБ, рдореБрдЭреЗ рднреА рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реИред рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ socket.io рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдореИрдВ рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

0.9.0 рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ред

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

heartbeat2 gets sent and recieved all fine
heartbeat3 gets sens but never gets recieved
disconnect

рдпрд╣рд╛рдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ:

   debug - emitting heartbeat for client 18615332192056708826
   debug - websocket writing 2::
   debug - set heartbeat timeout for client 18615332192056708826
   info  - transport end
   debug - set close timeout for client 18615332192056708826
   debug - cleared close timeout for client 18615332192056708826
   debug - cleared heartbeat timeout for client 18615332192056708826
   debug - discarding transport

рдореБрдЭреЗ рднреА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореИрдВ 0.91-1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИред

io.configure (рдлрд╝рдВрдХреНрд╢рди () {
io.set ('рдХреНрд▓реЛрдЬрд╝ рдЯрд╛рдЗрдордЖрдЙрдЯ', 60_60_24); // 24 рдШрдВрдЯреЗ рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд
});

рдпрд╣рд╛рдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░ 0.9.0 рдХрд░ рджрд┐рдпрд╛? рдореИрдВрдиреЗ рдЕрдм рдЗрд╕реЗ NPM рдкрд░ рдирд╡реАрдирддрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рд╣реИ

0.9.1-1 рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛, рдЬрд╕реНрдЯ рдХреЛ 0.9.0 рддрдХ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИред

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдХреБрдЫ рд░рдЦ-рд░рдЦрд╛рд╡ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, 20 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдФрд░ рддреБрд░рдВрдд рд╕рд░реНрд╡рд░ рд╕реЗ рдЬрд╡рд╛рдм рджреЗрдВ:

рдХреНрд▓рд╛рдЗрдВрдЯ: рд╕реЗрдЯрдЗрдВрдЯрд░рд╡рд▓ (рдлрд╝рдВрдХреНрд╢рди () {рд╕реЙрдХреЗрдЯ.рдПрдорд┐рдЯ ("рд░рдЦ-рд░рдЦрд╛", рд╢реВрдиреНрдп)}, 20 * 1000);
рд╕рд░реНрд╡рд░: рд╕реЙрдХреЗрдЯ.рдСрди ('рдХреАрдк-рдЕрд▓рд╛рдЗрд╡', рдлрдВрдХреНрд╢рди (рдбреЗрдЯрд╛) {рд╕реЙрдХреЗрдЯ.рдПрдорд┐рдЯ ('рдХреАрдк-рдЕрд▓рд╛рдЗрд╡', рдирд▓); });

FWIW: рдпрджрд┐ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрд┐рд╕реА рднрд┐рдиреНрди рд╕рд░реНрд╡рд░ рд╕реЗ рд╕реЗрд╡рд╛ рджреЗ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб 0.9.0 рддрдХ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддрдм рднреА рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред

рдореИрдВрдиреЗ 'socket.io' рдХреЛ 0.9.0 рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреАред рдлрд┐рд░ рдореИрдВрдиреЗ socket.io-client рдХреЛ 0.9.0 рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдорд┐рд▓рд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд┐рди рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯреЛрдВ рдХреА рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд╡реЗ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдФрд░ xhr-рдорддрджрд╛рди рд╣реИрдВред

рдпрд╣ рдореБрджреНрджрд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛?

рдореЗрд░реА рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╣реИрдкреНрд░реЛрдХреНрд╕реА рд╣реИред

рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣рд╛рдБ рд╣реИ:

frontend all 0.0.0.0:80
    default_backend www_backend
    acl is_websocket path_beg /socket.io
    acl is_websocket hdr(Upgrade) -i WebSocket
    acl is_websocket hdr_beg(Host) -i ws
    timeout client 1000

рд▓рд╛рдЗрди рдореЗрдВ "рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ 1000" (рдореИрдВрдиреЗ рдЗрд╕реЗ 1 рд╕реЗрдХрдВрдб рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдереА, рдФрд░ рдпрд╣ рдерд╛ ...)

рддреЛ рдЕрдм рдореИрдВ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдмрджрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░реЗрдЧрд╛: +1:

FYI рдХрд░реЗрдВ, рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ xhr-рдорддрджрд╛рди рдФрд░ 0.9.14 рдХреЗ рд╕рд╛рде рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБред рд╣рд░ 25 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдЬрдмрд░рди рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИред рд▓реЙрдЧ рдКрдкрд░ рдХреЗ рд╕рдорд╛рди рд╣реИред

рдореИрдВ рдпрд╣ рднреА рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ 0.9.14 рд╕рд░реНрд╡рд░ рдФрд░ 0.9 рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╣рд░ 25 рд╕реЗрдХрдВрдб рдореЗрдВ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмреАрдЪ-рдмреАрдЪ рдореЗрдВ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдХреЙрд▓ stream.emit('end'); рдиреЛрдб.рдЬреЗрдПрд╕' _stream_readable.js рдореЗрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрдлрд░ рдореЗрдВ рдИрдУрдПрдл рдкрдврд╝рдиреЗ рдХрд╛ рдирддреАрдЬрд╛ рд╣реИред

@citosid рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдХреНрд▓рд╛рдЗрдВрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛?

0.9.16 рдХреЗ рд╕рд╛рде рд╣реЛ рд░рд╣рд╛ рд╣реИред BoarK . рдХреЗ рд╕рдорд╛рди рд╣реА

рдХреНрдпрд╛ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рд╕рдорд░реНрдерди рдорд░ рдЪреБрдХрд╛ рд╣реИ?

@joefaron рдорд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдорд░реНрдерди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рддреЛ рдирд╣реАрдВ, Socket.IO рд╕рдорд░реНрдерди рдорд░рд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХрднреА рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

Socket.io 0.9.16 рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдХрдиреЗрдХреНрд╢рди рджреЗрдЦрдирд╛ рд╣рд░ ~ 25 рд╕реЗрдХрдВрдб рдореЗрдВ рдЧрд┐рд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ "рдкрд░рд┐рд╡рд╣рди рдХреЛ рдЫреЛрдбрд╝рдирд╛" рджрд┐рдЦрд╛рддрд╛ рд╣реИред

0.8.6 рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдм рдХреБрдЫ рддрдп рдХрд░рддрд╛ рд╣реИ .. рдФрд░ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЗ рдмреИрдХ рдЕрдк рдХреЗ рд░реВрдк рдореЗрдВ xhr-рдорддрджрд╛рди рдХреЗ рдмрдЬрд╛рдп jsonp-рдорддрджрд╛рди .. рджреВрд░ рд▓рдЧрддрд╛ рд╣реИ
рдЬреНрдпрд╛рджрд╛ рд╕реНрдерд┐рд░ред

26 рдЬрдирд╡рд░реА 2014 рдХреЛ рд╕реБрдмрд╣ 10:16 рдмрдЬреЗ, рдЕрд░рди рд░реАрдХреНрд╕ рдиреЗ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.comрд▓рд┐рдЦрд╛ :

Socket.io 0.9.16 рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ - рд╣рд░ ~ 25 . рдкрд░ рдХрдиреЗрдХреНрд╢рди рдЧрд┐рд░рддреЗ рджреЗрдЦрдирд╛
рд╕реЗрдХрдВрдб рдФрд░ рд▓реЙрдЧ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ "рдкрд░рд┐рд╡рд╣рди рдЫреЛрдбрд╝рдирд╛" рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ Gi tHub рдкрд░ рджреЗрдЦреЗрдВhttps://github.com/LearnBoost/socket.io/issues/777#issuecomment -33325205
.

рд╣рд╛рдп @joefaron , рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдЪреАрдпрд░реНрд╕ред

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

рдореИрдВ рдЗрд╕ рдмрдЧ рдХреЛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рдХреНрд░реЛрдо рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рд░ рдирд┐рд░реНрдорд╛рдг (32.0.1700.76 рдореАрдЯрд░) рджреЛрдиреЛрдВ рдореЗрдВ рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдореИрдВрдиреЗ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА, рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╡рд░реНрддрдорд╛рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рдореБрддрд╛рдмрд┐рдХ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрдм рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рддреЛ рдпрд╣ рд╕рднреА рдкрд░рд┐рд╡рд╣рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рд▓рдЧрд╛рддрд╛рд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдХреНрд░реИрд╢ рдФрд░ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛)ред
io.set('heartbeats', false);

рдЪреВрдВрдХрд┐ рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдореЗрд░рд╛ рдЕрдЧрд▓рд╛ рдкреНрд░рдпрд╛рд╕ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдордпрдмрд╛рд╣реНрдп рдХреЛ рдмрдврд╝рд╛рдирд╛ рдерд╛ рдЬреЛ рдЖрдкрдХреЗ рдРрдк.рдЬреЗрдПрд╕ рдХреЗ рднреАрддрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
io.set('heartbeat timeout', 99999); // 99999 being the time between requests in seconds - Default is 25, please choose your value as applicable for your applications

рдЗрд╕рдиреЗ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрд▓рд╛рдЬ рдХрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЕрдЧрд░ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореЗрд░рд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
NodeJS: v0.10.24 Socket.io: v0.9.16 Centos 6.5

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЬрд░реВрд░реА/рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рд╣реИред рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЕрднреА рддрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛? рдЗрд╕ рдЕрдВрдХ рдХреЗ рд╕реВрддреНрд░ рдХреЛ рд╢реБрд░реВ рд╣реБрдП рджреЛ рд╕рд╛рд▓ рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВред

рдореИрдВ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

NodeJS: v0.10.24
Socket.io: v0.9.16

рдбреА-рдУрд▓рд┐рд╡рд░реЛрд╕: рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ 0.8.6 рдкрд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдирд╣реАрдВ рд╣реИ
рдореБрджреНрджрд╛ .. рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдирд╡реАрдирддрдо рдирд┐рд░реНрдорд╛рдг рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкрд░ 08:55 рд╢рдирд┐ рдлрд░рд╡рд░реА 15, 2014 рдХреЛ, рдбреА-oliveros [email protected] :

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЬрд░реВрд░реА/рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рд╣реИред рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реБрдЖ
рдЕрднреА рддрдХ рд╣рд▓? рдЗрд╕ рдЕрдВрдХ рдХреЗ рд╕реВрддреНрд░ рдХреЛ рд╢реБрд░реВ рд╣реБрдП рджреЛ рд╕рд╛рд▓ рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВред

рдореИрдВ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

рдиреЛрдбрдЬреЗрдПрд╕: v0.10.24
Socket.io: v0.9.16

рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ Gi tHubhttps: //github.com/LearnBoost/socket.io/issues/777#issuecomment -35177466 рдкрд░ рджреЗрдЦреЗрдВ
.

рдХреГрдкрдпрд╛ рдирдпрд╛ master рдЖрдЬрд╝рдорд╛рдПрдВ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИ рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ 0.9.17 рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдЧреА рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИ?

@fgnass рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ 1.0.0-pre рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@guille рдЕрдм рддрдХ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ! рдЕрдЧрд░ рдлрд┐рд░ рдХрднреА рд╣реЛрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛ рджреВрдВрдЧрд╛ред

рд╣рд╛рдп @guille рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд┐рдХреНрд╕ рдХреЛ 0.9.16 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдмрд╕ рд╣рдо рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ node.js / socket.io рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рд╣рдорд╛рд░реЗ рдордВрдЪ рдХреЗ рдХрд┐рд╕реА рднреА рдкрд╣рд▓реВ рдХреЗ рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдФрдЪрд┐рддреНрдп рд╕рд╛рдмрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрдард┐рди рд╕рдордп рд╣реЛрдЧрд╛ред рдпрджрд┐ рдкреИрдЪ 0.9.16 рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛, рдпрджрд┐ 1.0.0 рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

+1 рдХреЗ рд▓рд┐рдП @eggysplat

@ aran112000 heartbeat timeout рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореЗрд░реЗ рд▓рд┐рдП v0.9.16 рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЕрд╕рд▓ рдореЗрдВ рдореБрдЭреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдорд┐рд▓ рдЧрдпрд╛ред рдмрд╣реБрдд рд╢рд░реНрдордирд╛рдХ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ v0.9.16 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ v0.9.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рдмрдЧ рдерд╛ред рдЗрд╕реЗ https://github.com/LearnBoost/socket.io/commit/57a0b2406004e46ec34729392ee289191a4f78e7 рдФрд░ https://github.com/LearnBoost/socket.io/commit/df5f23d3091df3bbf296ae952609dfbbc7be28c3 рджреНрд╡рд╛рд░рд╛ v0.9.2 рдореЗрдВ рдлрд┐рдХреНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдХреГрдкрдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ heartbeat interval heartbeat timeout рд╕реЗ рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ v0.9.0 рдореЗрдВ рдерд╛ред

рд╕рдВрдкрд╛рджрди рдкреЛрд╕реНрдЯ рддрд╛рдХрд┐ рджреВрд╕рд░реЛрдВ рдХреЛ рдЬрд╛рдЧрд░реВрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ:

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

рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреЛрд╕реНрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдБ рд╣реИ рд▓реЗрдХрд┐рди рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдлреА рдХрдард┐рди рд╣реИред
https://github.com/LearnBoost/socket.io/wiki/Socket.IO-and-firewall-software

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

socket.io:client client close with reason transport close +39s
socket.io:socket closing socket - reason transport close +44s
.
.
.
socket.io:namespace adding socket to nsp / +4.1m
socket.io:socket socket connected - writing packet +1s

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

socket.on('someEvent', function(){
    var a = null;
    a.b; //You won't be aware of this error, this error is suppressed and won't be shown on console. 
         //Moreover, it disconnects and reconnects
})

рдпрд╣ рдХрдореЗрдВрдЯ рднреА рджреЗрдЦреЗрдВ

рддреЛ, рдпрд╣ рдЪреБрдкрдЪрд╛рдк рддреНрд░реБрдЯрд┐ рдкрдХрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдХрдВрд╕реЛрд▓ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреЛ рджрдмрд╛рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд╕реВрдЪрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ/рдкреБрдирдГ рдХрдиреЗрдХреНрдЯ рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИ?

1.3.5 рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрднреА рднреА рд╣реИрдВ

рдпрд╣ рд╣реИ?

рд╣рд╛рдБ, рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА 1.3.5 рдореЗрдВ рдореМрдЬреВрдж рд╣реИ...

рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ

рд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА 1.3.5 рдореЗрдВ рд╣реЛ рд░рд╣реА рд╣реИ рдХреГрдкрдпрд╛ рдареАрдХ рдХрд░реЗрдВ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдХреНрд▓рд╛рдЗрдВрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдореБрджреНрджрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ @citosid рдиреЗ рдмрддрд╛рдпрд╛ рд╣реИред рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдХреНрд▓рд╛рдЗрдВрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдмрдврд╝рд╛рдПрдБ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдпрд╣ рднреА рд░рд┐рдкреЛрд░реНрдЯ рдорд┐рд▓ рд░рд╣реА рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдорд╕реНрдпрд╛ 100% рдареАрдХ рдирд╣реАрдВ рд╣реИред рдордЬреЗрджрд╛рд░ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ "рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ 1" рдХреЛ рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдореЗрдВ рдПрдХ рд╕реЗрдХрдВрдб рдореЗрдВ рд╕реЗрдЯ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдордЬрд╝рдмреВрддреА рд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рд╣рдорд╛рд░реЗ рдлреНрд░рдВрдЯрдПрдВрдб рдореЗрдВ рдмрдЧ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

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

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкреЛрд╕реНрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЖрдк рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
"рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ HackTimer.js рдФрд░ ccapture.js рджреЛрдиреЛрдВ рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде window.setTimeout рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред HackTimer.js рдХрд┐рд╕реА рдЕрдиреНрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред ccapture.js рдХреЗ рд▓рд┐рдП рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╣реИ рдкрд╣рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВред рдЗрд╕рд▓рд┐рдП, рд╕реЙрдХреЗрдЯрд┐рдпреЛ рдкрд╣рд▓реЗ рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдореВрд▓ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдлрд┐рд░ рдХрд╕реНрдЯрдо рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдбрд╝рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдХрд┐рд╕реА рднреА рдЯрд╛рдЗрдорд░ рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред"

рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдХреЛрдб рдЦреЛрдЬреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреА рдХреЛрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрд╕реЗ рдмрджрд▓ рд░рд╣реА рд╣реИ:

ag 'window.setTimeout\s*='

рдЖрдк рдЕрдкрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

/native/.test(window.setTimeout) // returns true for the native function and false for a custom one

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

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрд╕рдиреЗ socket.io 1 > рд╕реЗ рджреВрд░ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ socket.io 0.9.17 рдкрд░ рд░рдЦрд╛ред рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВ рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕реЗ рдЬреАрд╡рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдкрд┐рдВрдЧ рдкреЛрдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЕрдм 1 9 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ .. рдЕрдВрддрд░рд╛рд▓ рд╣рд░ 35 рд╕реЗрдХреЗрдВрдб рд╣реИ ..

рдЕрдЧрд░ рдореИрдВ socket.io 0.9.17 рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ .. рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЕрдм рдФрд░ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдХреЛрдИ рдорджрдж, рдпрд╣ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

@utan рдкреНрд░рдЬрдирди рдЪрд░рдг рдХреНрдпрд╛ рд╣реИрдВ?

рд╣рд╛рдп @rauchg ,

рдЖрдкрдХреЗ рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж..

1) рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ 1.4.0 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
2) nginx config рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ

                        proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
                proxy_http_version 1.1;
                proxy_pass http://io_nodes;

3) socket.io 1.4.0 / 2015-11-28 . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗрдЯ рдХрд░реЗрдВ
4) рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ ..
5) рдЕрдкрдиреЗ рдРрдк рд╕реЗ рдЬреБрдбрд╝реЗ рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рдлреЛрди рдХреЛ рдмреЗрдХрд╛рд░ рдЫреЛрдбрд╝ рджреЗрдВред

рдлрд┐рд░ рд▓реЙрдЧ;

  engine:polling compressing +0ms
  engine:socket executing batch send callback +1ms
PuTTY  engine intercepting request for path "/socket.io/" +95ms
  engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=L8YVUt6&sid=DJNvvkhmCQew_3vGAAAB" +0ms
  engine setting new request for existing client +0ms
  engine:polling setting request +0ms
  engine:socket transport error +6s
  engine:polling closing +2ms
  engine:polling transport writable - closing right away +0ms
  engine:polling writing "├п┬┐┬╜1" +0ms
  socket.io:client client close with reason transport error +0ms
  socket.io:socket closing socket - reason transport error +0ms

рдЖрдк 3 4 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ ..

рдпрджрд┐ рдорддрджрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдорд┐рд▓рддрд╛ рд╣реИ;

 engine:socket executing batch send callback +1ms
PuTTY  engine intercepting request for path "/socket.io/" +106ms
  engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=L8YXgi6&sid=skadf3It4qBRi0S0AAAC" +1ms
  engine setting new request for existing client +0ms
  engine:polling setting request +0ms
  engine:socket transport error +3s
  engine:polling closing +0ms
  engine:polling transport writable - closing right away +0ms
  engine:polling writing "├п┬┐┬╜1" +0ms
  socket.io:client client close with reason transport error +1ms
  socket.io:socket closing socket - reason transport error +2ms
  engine intercepting request for path "/socket.io/" +373ms
  engine handling "POST" http request "/socket.io/?EIO=3&transport=polling&t=L8YXhdB&sid=skadf3It4qBRi0S0AAAC" +0ms

рддреЛ @rauchg рдиреЗ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛?

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

@rauchg ,
рддреЛ рдХреНрдпрд╛ рдпрд╣ рдЕрдм socket.io рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ? рдХреНрдпрд╛ рдбрдмреНрд▓реНрдпреВрдПрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЕрдм рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдЙрдирдХреЗ рдкреНрд▓рдЧрдЗрди рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рд╡реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИрдВ?

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рджреАрд╡рд╛рд░ рдкрд░ рдЕрдкрдирд╛ рд╕рд┐рд░ рдкреАрдЯ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╣ рдореБрдЭреЗ рдЕрдкрдЧреНрд░реЗрдб рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рджреЗрдЧрд╛ .. рдФрд░ рдореЗрд░реЗ рдХреЛрдб рдХреЛ рдирдП рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рд╛рде рджреЛрдмрд╛рд░рд╛ рджреЛрд╣рд░рд╛рдПрдВ ...
рдореЗрд░рд╛ рд╕рд░реНрд╡рд░ рдЙрдмрдВрдЯреВ 10.10
Nginx рд╕рдВрд╕реНрдХрд░рдг: Nginx/1.8.0
рдиреЛрдб v0.10.31//рдЕрдЧрд░ рдореИрдВ 4.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд╡рд╣реА рдмрд╛рдд рд╣реИ ..

https рдФрд░ Nginx рдкреНрд░реЙрдХреНрд╕реА рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВ рдпрд╛ рд╕рд┐рд░реНрдл рдореИрдВ рд╣реВрдБ?

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

рдЙрдмрдВрдЯреВ 14.04
рдиреЛрдб v5.3.0
рдПрдирдкреАрдПрдо рд╡реА 3.3.12
рдкрд╛рд▓ рдЬреЗрдПрд╕@v0.11.4
рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ@~1.4.3

рдореЗрд░рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ-рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕реЗрд▓.рдЖрдИрдУ.рдЬреЗрдПрд╕ рдХрд╛ рдорд┐рд╢реНрд░рдг рд╣реИ:

var socketIOClient = require('socket.io-client');
var sailsIOClient = require('sails.io.js');
var io = sailsIOClient(socketIOClient);
io.socket.on('connect', function(data){....})

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

рдЕрдзрд┐рдХ рдирд┐рд░рд╛рд╢ред

рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рддрднреА рдЬрдм рдореИрдВ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реЙрдХреЗрдЯ (ws рдХреЗ рдмрдЬрд╛рдп wss) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред Ws рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди wss рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдЫрд┐рдЯрдкреБрдЯ рд░реВрдк рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдордп (~ 15 рдорд┐рдирдЯ) рдкрд░ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдИ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдирд╣реАрдВ, рдХреЛрдИ рдкреНрд░реЙрдХреНрд╕реА рдирд╣реАрдВред

рдзрдиреНрдпрд╡рд╛рдж @ рдПрдВрдбреНрд░рд┐рди-рдПрди-рдбреНрд░реАрдо рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдПрд╕рдПрд╕рдПрд▓ рд╕реЗ рднреА рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрди рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдореЗрд░реА ubuntu vm (рдЙрд╕реА рдорд╢реАрди) рд╣реИред рдмреНрд░рд┐рдЬреЗрдб рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреЗрдкреНрдЯрд░ред рд╕рд╛рдорд╛рдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрднреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реБрдИред

рдПрд╕рдПрд╕рдПрд▓ рдкрд░ рд╣реЛрддрд╛ рд╣реИ рдЪрд╛рд╣реЗ рдореИрдВ nginx рдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдпрд╛ рд╕реЗрд▓.рдЬреЗрдПрд╕ рдПрд╕рдПрд╕рдПрд▓ рд╕рдорд╛рдкреНрддрд┐ред

рдирд╛рд╡реЗрд░ - http://www.naver.com/

рдИрдореЗрд▓ [email protected] рдкрд░ рднреЗрдЬрд╛ рдЧрдпрд╛


рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдиреЗ рдЖрдкрдХрд╛ рдИ-рдореЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рджрд┐рдпрд╛ рд╣реИред


рдореИрдВрдиреЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧ рдХрд┐рдпрд╛ рдФрд░ рдПрд╕рдПрд╕рдПрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрд╛ рд▓реЗрдХрд┐рди рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ engine.io рдореЗрд░реЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рдкрд░рд┐рд╡рд╣рди рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

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

рдЦреИрд░ рдЕрдиреНрдп рджрдмрд╛рд╡ рд╡рд╛рд▓реЗ рдореБрджреНрджреЛрдВ рдХреЗ рдХрд╛рд░рдг рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдПрдирд╡реА рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрдм рдмреИрдХрдмрд░реНрдирд░ рдкрд░ рд╣реИред рдпрд╣ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдиреЛрдб 6.5.0 рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝рддрд╛ рд╣реИред Sails.js рдиреЗ рдХреБрдЫ рдкреИрдХреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рд╣реИрдВ рдФрд░ рдЗрди рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ...

рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рдЗрд╕рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рд╕реА ++ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╢рд╛рдпрдж рдЗрд╕ рд╕рд╛рд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдпрд╛ рдЬрдирд╡рд░реА рдореЗрдВред

рдпрд╣ рдЕрднреА рднреА 2.0.3 рдкрд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ ...
https://github.com/socketio/socket.io/issues/3025

рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд┐рдирд╛, socket.io рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдиреБрдкрдпреЛрдЧреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ 25% рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣реИред

io.set ('рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд', 99999);

@Aaron1011 рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рд╣реЛрдирд╛ рд╣реИ? рдпрджрд┐ рдЗрд╕рдХрд╛ рд╕рд░реНрд╡рд░ рдкрдХреНрд╖ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдХреЛрд╢рд┐рд╢ рдХреА:
io.set ('рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд', 99999);
рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рдФрд░ socket.io v 2.0.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЕрдЧрд▓реЗ 0.8.6 рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред

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

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ v2.03 рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдЪрд╛рд░/рд╕реБрдзрд╛рд░ рд╣реИ? рдЬрд┐рди рдЪреАрдЬреЛрдВ рдХреА рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:

  • рдкрд┐рдВрдЧрдЗрдВрдЯрд░рд╡рд▓ рдХреЛ 9999999 . рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
  • рдкрд┐рдВрдЧрдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ 99999999 . рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
  • рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреАрд╡рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрдирд╛ред рдореИрдВ рд╣рд░ 1 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВред
  • рдЕрдХреНрд╖рдо рдлрд╝рд╛рдпрд░рд╡реЙрд▓
  • рдПрдХреНрд╕рдПрдЪрдЖрд░ рдорддрджрд╛рди рдЪрд╛рд▓реВ/рдмрдВрдж рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛
  • рдкреЛрд░реНрдЯ рдХреЛ рдХреБрдЫ рд░реИрдВрдбрдо рд╕реЗ 80 . рдореЗрдВ рдмрджрд▓рд╛ рдЧрдпрд╛

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

@forgeableSun рдЖрдкрдХреЛ рдкреНрд░рд╛рдЗрдорд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдирд╛ рдРрдк рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдРрдк рдХреЛ рдкреНрд░рд╛рдЗрдорд╕ рдХреЗ рд╕рд╛рде рджреЛрдмрд╛рд░рд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕реЙрдХреЗрдЯрдЬреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ ..

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

рд╕рд╛рджрд░ред

@utan рдореБрдЭреЗ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдХреЛрдб рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде socket.io рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░реВрдВ? рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдкрд░ рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

npm рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЪреИрдирд▓ --save

рд╡рд░ рдкреНрд░рд╛рдЗрдорд╕ = тАЛтАЛрдирдпрд╛ рдкреНрд░рд╛рдЗрдорд╕ (рд╕рд░реНрд╡рд░, {рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░: 'рдмреНрд░рд╛рдЙрдЬрд╝рд░рдЪреИрдирд▓'});

https://github.com/primus/primus/blob/master/README.md#supported -real-time-frameworks

рдЖрд╢рд╛ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдмреНрд░рд╛рдЙрдЬрд░ рдЪреИрдирд▓ рдХрд╛ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ?

рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдПрдХ рдЕрд▓рдЧ рдврд╛рдВрдЪреЗ рдореЗрдВ рдХреИрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рдП ..

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдерд╛ ..

рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди socket.io рд╕рдорд░реНрдерд┐рдд рд░реАрдпрд▓рдЯрд╛рдЗрдо рдврд╛рдВрдЪреЗ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рд╣реИред рдПрдкреАрдЖрдИ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрдб рдХреА рдХреЗрд╡рд▓ 1 рдкрдВрдХреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реБрдиреЛ, рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ> = 1 рдХреЗ рдмрд╛рдж рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА рд╣реИ, рдЗрд╕рдореЗрдВ рдЕрдЬреАрдм рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реИрдВ, рдореИрдВ рдкреНрд░рд╛рдЗрдорд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдЖрдк рдПрдХ рдЕрд▓рдЧ рдврд╛рдВрдЪреЗ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХреЗрдВ ..

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

рд╕рд╛рджрд░

@ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ рдЙрд╕ рдврд╛рдВрдЪреЗ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдкреВрд░реЗ рдРрдк рдХреЗ рд╕рд╛рде 1 рдврд╛рдВрдЪреЗ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдерд╛ (рдПрдбрд╛рдкреНрдЯрд░ рдХреА рддрд░рд╣)ред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдкреНрд░рд╛рдЗрдорд╕ рдореЗрдВ рд▓рд┐рдЦреЗ рдкреВрд░реЗ рдРрдк рдХреЗ рд╕рд╛рде рдЪреМрдЦрдЯреЗ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рдореЗрд░реЗ рд╕рд┐рд░ рдкрд░ рдЪрдврд╝ рдЧрдП .. рдореИрдВ рдЕрдВрддрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддрдирд╛ рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реВрдВ, рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд╣рдо рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рдереЗ ..

рд╕рд╛рджрд░ред

рдореЗрд░рд╛ рд╕рд░реНрд╡рд░ рд▓реЙрдЧ:
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"
рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг: "рдкрд░рд┐рд╡рд╣рди рдмрдВрдж"

Ws (https://github.com/websockets/ws) рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдкреБрдирд░реНрд▓реЗрдЦрди рд╢рд╛рдорд┐рд▓ рдереЗ, рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рджреЗрд╢реА рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЕрдм рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдЗрддрдирд╛ рд▓рдВрдмрд╛ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ!

рдореБрдЭреЗ 10 рд╕реЗ 30 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдорд┐рд▓ рд░рд╣рд╛ рдерд╛ред рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛ рдХрд┐ рдореЗрд░реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рдЕрдкрд╛рдЪреЗ рд╕рд╛рдЭрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдпрд╛рддреНрд░реА рдХреЗ рд╕рд╛рде рдиреЛрдбрдЬреЗрдПрд╕ рдЪрд▓рд╛рддреА рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХреАрдХрд░рдг рдореЗрдВ websockets рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИред рдореИрдВ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: ['рдорддрджрд╛рди'] рдХреЗрд╡рд▓, рдЬрдмрдХрд┐ рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рдкрд░ рдореИрдВ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рджреМрдбрд╝рддрд╛ рд╣реВрдВ: ['рд╡реЗрдмрд╕реЛрдХреЗрдЯ', 'рдорддрджрд╛рди'] рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдбреНрд░реЙрдкрдЖрдЙрдЯ рдХреЗ рдмрд┐рдирд╛ред 30 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдЕрдм рддрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛...

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

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

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

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