socket.ioμ μ°κ²°ν λ js ν΄λΌμ΄μΈνΈλ₯Ό μ¬μ©ν λ μ¬μ©μ μ μ μμ² ν€λλ₯Ό μ€μ νλ λ°©λ²
λλ κ·Έκ² νμν΄... νΉμ ν΄κ²°μ± μ μ°ΎμΌμ ¨λμ?
λλ λν μ΄κ²μ κ΄μ¬μ΄ μμ΅λλ€.
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μ© ν€λλ₯Ό μ€μ νλ μν μ½λκ° μμ΅λκΉ?
μ λ§ κ°μ¬ν©λλ€.
μλλ‘μ΄λ : https://github.com/socketio/socket.io-client-java/issues/226
ν€λλ₯Ό λμ μΌλ‘ μ€μ ν μ μμ΅λκΉ?
κ°μ₯ μ μ©ν λκΈ
@muhammadnasr λ λ²μ§Έ μΈμμ μ΅μ μ μ λ¬ν©λλ€. 첫 λ²μ§Έ μΈμλ URLμ λλ€.