Socket.io-client: μ„œλ²„μ— μ—°κ²°ν•  λ•Œ μš”μ²­ 헀더λ₯Ό μ„€μ •ν•˜λŠ” 방법은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?

에 λ§Œλ“  2014λ…„ 07μ›” 09일  Β·  13μ½”λ©˜νŠΈ  Β·  좜처: socketio/socket.io-client

socket.io에 μ—°κ²°ν•  λ•Œ js ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μ‚¬μš©ν•  λ•Œ μ‚¬μš©μž μ •μ˜ μš”μ²­ 헀더λ₯Ό μ„€μ •ν•˜λŠ” 방법

Feature request

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@muhammadnasr 두 번째 μΈμˆ˜μ— μ˜΅μ…˜μ„ μ „λ‹¬ν•©λ‹ˆλ‹€. 첫 번째 μΈμˆ˜λŠ” URLμž…λ‹ˆλ‹€.

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

λͺ¨λ“  13 λŒ“κΈ€

λ‚˜λ„ 그게 ν•„μš”ν•΄... ν˜Ήμ‹œ 해결책을 μ°ΎμœΌμ…¨λ‚˜μš”?

λ‚˜λŠ” λ˜ν•œ 이것에 관심이 μžˆμŠ΅λ‹ˆλ‹€.

Java socket.io-clientμ—μ„œ μˆ˜ν–‰ν•˜λŠ” 방법을 λ³΄μ•˜μ§€λ§Œ JSμ—μ„œλŠ” μˆ˜ν–‰ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  μš΄μ†‘ μˆ˜λ‹¨μ—μ„œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
XHR/Ajax Polling을 μ‚¬μš©ν•˜λŠ” 경우 κ°€λŠ₯ν•˜μ§€λ§Œ HTML5의 WebSockets μ—λŠ” λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.

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

에 λŒ€ν•œ 해결책을 μ°Ύκ³  μžˆμŠ΅λ‹ˆλ‹€.

당신은 무엇을 λ‹¬μ„±ν•˜κΈ° μœ„ν•΄ λ…Έλ ₯ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ? url λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆκΉŒ?

인증 미듀웨어 전후에 μ›Ή μ†ŒμΌ“μ„ 도청할 수 μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” ν…ŒμŠ€νŠΈλ₯Ό μž‘μ„±ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ μ„±κ³΅μ μœΌλ‘œ μΈμ¦ν•˜λ €λ©΄ 초기 http μ—…κ·Έλ ˆμ΄λ“œ μš”μ²­κ³Ό ν•¨κ»˜ μΏ ν‚€ μ„Έμ…˜μ„ 보내야 ν•©λ‹ˆλ‹€. 그것은 λΈŒλΌμš°μ €μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€. 제 λ…Έλ“œ ν…ŒμŠ€νŠΈμ—μ„œλ„ μž‘λ™ν•˜κΈ°λ₯Ό μ›ν•©λ‹ˆλ‹€.

이에 λŒ€ν•œ 진전이 μžˆμŠ΅λ‹ˆκΉŒ? λ˜λŠ” socket.io λ‚΄μ—μ„œ μΏ ν‚€ μ„Έμ…˜/μ„Έμ…˜ IDλ₯Ό κ°€μ Έμ˜€κ±°λ‚˜ μ„€μ •ν•˜λŠ” 방법에 λŒ€ν•œ νžŒνŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

μ‹€μ œλ‘œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. 초기 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'
      }
    }
  }
});

이 μ˜ˆμ œμ— url을 μΆ”κ°€ν•˜λŠ” 방법
const μ†ŒμΌ“ = io({
전솑 μ˜΅μ…˜: {
폴링: {
μΆ”κ°€ 헀더: {
'x-clientid': 'abc'
}
}
}
});

@muhammadnasr 두 번째 μΈμˆ˜μ— μ˜΅μ…˜μ„ μ „λ‹¬ν•©λ‹ˆλ‹€. 첫 번째 μΈμˆ˜λŠ” URLμž…λ‹ˆλ‹€.

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

λŒ€λ‹¨ν•΄.

iOS 및 Android SDK용 헀더λ₯Ό μ„€μ •ν•˜λŠ” μƒ˜ν”Œ μ½”λ“œκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

정말 κ°μ‚¬ν•©λ‹ˆλ‹€.

헀더λ₯Ό λ™μ μœΌλ‘œ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰