Socket.io-client: рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЗ рдмрдЬрд╛рдп рдорддрджрд╛рди рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд╣рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 11 рд╕рд┐рддре░ 2015  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: socketio/socket.io-client

рд╕реЙрдХреЗрдЯ.io.js рдХреА рд▓рд╛рдЗрди 1613 рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ:
this.transports = opts.transports || ['рдорддрджрд╛рди', 'рд╡реЗрдмрд╕реЛрдХреЗрдЯ'];

рдЖрджреЗрд╢ ['рд╡реЗрдмрд╕реЛрдХреЗрдЯ', 'рдорддрджрд╛рди'] рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?

рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдкрд░ рдореИрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:
рд╡рд░ рд╕реЙрдХреЗрдЯ = io.connect (url);

рдлрд┐рд░ рд╕рд░реНрд╡рд░ рдХреА рддрд░рдл, рдореИрдВрдиреЗ рдХрд┐рдпрд╛:
io.on ('рдХрдиреЗрдХреНрд╢рди', рдлрд╝рдВрдХреНрд╢рди (рд╕реЙрдХреЗрдЯ) {
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ (рд╕реЙрдХреЗрдЯ);
});

рд╣рд╛рде рдорд┐рд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

handshake: 
   { headers: 
      { 'user-agent': 'node-XMLHttpRequest',
        accept: '*/*',
        host: 'localhost:8081',
        connection: 'close' },
     time: 'Fri Sep 11 2015 16:04:39 GMT-0400 (EDT)',
     address: '::ffff:127.0.0.1',
     xdomain: false,
     secure: false,
     issued: 1442001879771,
     url: '/socket.io/?EIO=3&transport=polling&t=1442001879749-0&b64=1',
     query: { EIO: '3', transport: 'polling', t: '1442001879749-0', b64: '1' } }

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЗ рдмрдЬрд╛рдп рдорддрджрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдореИрдВрдиреЗ рдкрд░рд┐рд╡рд╣рди рдХреЛ 'рд╡реЗрдмрд╕реЛрдХреЗрдЯ' рдкрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдФрд░ рд╣реИрдВрдбрд╢реЗрдХ рднрд╛рдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рдЬреЛ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ:
рд╡рд░ рд╕реЙрдХреЗрдЯ = io.connect (рдпреВрдЖрд░рдПрд▓, {рдкрд░рд┐рд╡рд╣рди: ['рд╡реЗрдмрд╕реЛрдХреЗрдЯ']});

handshake: 
   { headers: 
      { connection: 'Upgrade',
        upgrade: 'websocket',
        host: 'localhost:8081',
        origin: 'localhost:8081',
        'sec-websocket-version': '13',
        'sec-websocket-key': 'MTMtMTQ0MjAwMTUxNDcyNA==' },
     time: 'Fri Sep 11 2015 15:58:34 GMT-0400 (EDT)',
     address: '::ffff:127.0.0.1',
     xdomain: true,
     secure: false,
     issued: 1442001514739,
     url: '/socket.io/?EIO=3&transport=websocket',
     query: { EIO: '3', transport: 'websocket' } }

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

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

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

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

upgrade рдХрд╛ рдХрд╛рд░рдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИред

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

http://socket.io/blog/introducing-socket-io-1-0/

@nkzawa
рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдкрдЧреНрд░реЗрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдХреНрдпреЛрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ: рдирд┐рдпрдВрддреНрд░рд┐рдд рдЙрджреНрдпрдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЛ рдПрдХрдорд╛рддреНрд░ рдЕрдиреБрдордд рдкрд░рд┐рд╡рд╣рди рдХреЗ рд░реВрдк рдореЗрдВ рдордЬрдмреВрд░ рдХрд░рдирд╛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдкрд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд╣рди рдХреЛ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛:
{ transports: ["websocket"] }

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдПрдХ рдорддрджрд╛рди рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рд░ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:
Request URL:http://localhost:4000/socket.io/?EIO=3&transport=polling&t=L8RaD0p
{ code: 0, message: "Transport unknown" }

рдХреНрдпрд╛ рдЗрд╕ рдЕрдкрдЧреНрд░реЗрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдордп рдХреЛрдИ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рд╣реИ?

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

@рд╕рд┐рд░реБрдбреЛрдЧ
рдЖрдк рдЗрд╕реЗ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ: {рдкрд░рд┐рд╡рд╣рди: ['рд╡реЗрдмрд╕реЛрдХреЗрдЯ', 'рдорддрджрд╛рди'] }

рдзрдиреНрдпрд╡рд╛рдж @ poppowerlb2 (рдореЗрд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЯреИрдм рдореЗрдВ рдЙрд╕рдХреЗ рдЬреИрд╕рд╛ рдХреЛрдИ рдФрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдирд╣реАрдВ)ред рднрд▓реЗ рд╣реА рдореЗрд░рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдк рдЯреВ рдбреЗрдЯ рд╣реЛ, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реЙрдХреЗрдЯ-рдЖрдИрдУ-рдХреНрд▓рд╛рдЗрдВрдЯ рдорддрджрд╛рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдЕрдкрдЧреНрд░реЗрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреБрдЫ рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдореИрдВ рдПрдХ рдиреЛрдб-рд▓рд╛рд▓ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде socket.io рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдореИрдВ рдЕрднреА рддрдХ рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдБред рдмреЗрд╢рдХ, рдпрд╣ рд╕рд╛рджреЗ websockets рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдорддрджрд╛рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рддреЛ рднреА socket.io websockets рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред

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

`
рдХреЙрдиреНрд╕реНрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ = io ('https://io.yourhost.com', {// рдЪреЗрддрд╛рд╡рдиреА: рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдорддрджрд╛рди рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд╣рди рдореЗрдВ рдХреЛрдИ рд╡рд╛рдкрд╕реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ: ['рд╡реЗрдмрд╕реЛрдХреЗрдЯ'] // рдпрд╛ ['рд╡реЗрдмрд╕реЛрдХреЗрдЯ', ' рдорддрджрд╛рди'], рдЬреЛ рдПрдХ рд╣реА рдмрд╛рдд рд╣реИ})

https://socket.io/docs/using-multiple-nodes/
`

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

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

hyperknot picture hyperknot  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

XMLHttpRequest рдкрд░ 'http: // localhost: 8080 / socket.io /? EIO = 3 рдФрд░ рдкрд░рд┐рд╡рд╣рди = рдорддрджрд╛рди рдФрд░ t = MgBuvgw' рдХреЛ рдореВрд▓ 'http: // localhost: 4200' рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ CorS рдиреАрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: 'Access-Control-' рдЕрдиреБрдорддрд┐-рдкреНрд░рд╛рдкреНрдд 'рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдкрд░ рдореМрдЬреВрдж рд╣реИред
imarun577 picture imarun577  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

crazyyi picture crazyyi  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ