Socket.io-client: рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рдЕрдиреБрд░реЛрдз рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ?

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

рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╕рдордп рдХрд╕реНрдЯрдо рдЕрдиреБрд░реЛрдз рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВред io рдЬреЗрдПрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

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

@muhammadnasr рджреВрд╕рд░реЗ рддрд░реНрдХ рдореЗрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдВ, рдкрд╣рд▓рд╛ рдпреВрдЖрд░рдПрд▓ рд╣реИ:

const socket = io("/your-url-here", {
  transportOptions: {
    polling: {
      extraHeaders: {
        'x-clientid': 'abc'
      }
    }
  }
});

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

рдореБрдЭреЗ рднреА рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ... рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛?

рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬрд╛рд╡рд╛ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ-рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЬреЗрдПрд╕ рд╡рди рдкрд░ рдирд╣реАрдВ

рд╕рднреА рдкрд░рд┐рд╡рд╣рди-рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рдЖрдк XHR/Ajax рдорддрджрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди HTML5 рдкрд░ WebSockets рд▓рд┐рдП рдирд╣реАрдВред

http://stackoverflow.com/questions/4361173/http-headers-in-websockets-client-apic

рдореИрдВ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдвреВрдВрдв рд░рд╣рд╛ рд╣реВрдВред

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

рдореИрдВ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ websockets рдХреЛ рдЫреБрдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

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

рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИ? рдпрд╛ рдХреЛрдИ рд╕рдВрдХреЗрдд рд╕реЙрдХреЗрдЯ.io рдХреЗ рднреАрддрд░ рдХреБрдХреА-рд╕рддреНрд░/рд╕рддреНрд░ рдЖрдИрдбреА рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд/рд╕реЗрдЯ рдХрд░реЗрдВ?

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдорд┐рд▓ рдЧрдпрд╛ред рдкреНрд░рд╛рд░рдВрднрд┐рдХ http рд╣реИрдВрдбрд╢реЗрдХ рдХрд╛ рд╡рд┐рд╡рд░рдг socket.request ред рд╡рд╣рд╛рдВ, рдЖрдкрдХреЛ рд╕реЗрд╢рди рдорд┐рд▓реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, socket.io рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

io.use(function(socket, next){
    if (!socket.request.session){
      console.log('no session in socket')
      socket.disconnect();
    }
    next();
  });

рд╕рдВрд╕реНрдХрд░рдг 2.0.0 , рдЕрдм рдЖрдк extraHeaders рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

const socket = io({
  transportOptions: {
    polling: {
      extraHeaders: {
        'x-clientid': 'abc'
      }
    }
  }
});

рдореИрдВ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдпреВрдЖрд░рдПрд▓ рдХреИрд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ
рдХреЙрдиреНрд╕реНрдЯ рд╕реЙрдХреЗрдЯ = рдЖрдИрдУ ({
рдкрд░рд┐рд╡рд╣рди рд╡рд┐рдХрд▓реНрдк: {
рдорддрджрд╛рди: {
рдЕрддрд┐рд░рд┐рдХреНрдд рд╢реАрд░реНрд╖рд▓реЗрдЦ: {
'рдПрдХреНрд╕-рдХреНрд▓рд╛рдЗрдВрдЯрд┐рдб': 'рдПрдмреАрд╕реА'
}
}
}
});

@muhammadnasr рджреВрд╕рд░реЗ рддрд░реНрдХ рдореЗрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдВ, рдкрд╣рд▓рд╛ рдпреВрдЖрд░рдПрд▓ рд╣реИ:

const socket = io("/your-url-here", {
  transportOptions: {
    polling: {
      extraHeaders: {
        'x-clientid': 'abc'
      }
    }
  }
});

рдПрдХ рджрдо рдмрдврд╝рд┐рдпрд╛ред

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдореВрдирд╛ рдХреЛрдб рд╣реИ?

рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдПрдВрдбреНрд░реЙрдЗрдб: https://github.com/socketio/socket.io-client-java/issues/226

рдХреНрдпрд╛ рд╣реЗрдбрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ?

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

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

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

david-fong picture david-fong  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

najibghadri picture najibghadri  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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