### μνλ μμ :
### νμ¬ νλ
μμΌ ioλ₯Ό ν΅ν΄ λ΄ μλ²μ μ°κ²°ν μ μμ΅λλ€. μκ°μ΄ μ΄κ³Όλ©λλ€.
### μ¬ν λ¨κ³(νμ¬ λμμ΄ λ²κ·ΈμΈ κ²½μ°)
λ°μ λ€μ΄ν°λΈμμ:
```js
'socket.io-client'μμ io κ°μ Έμ€κΈ°;
const BACKEND = 'λ΄ socketio μλ² URL'
const sock = io(BACKEND, { μ μ‘: ['websocket'], forceNew: true });
sock.on('μ°κ²°λ¨', () = {
λλ²κ±°;
})
```
λλ²κ·Έ λ‘κ·Έλ λ€μκ³Ό κ°μ΅λλ€.
νμμμλ§ νΈλ¦¬κ±°λ κ²μ μμ΅λλ€.
### μμλλ λμ
μΉ λΈλΌμ°μ μμμ κ°μ λ°©μμΌλ‘ λ΄ socketio μλ²μ μ°κ²°ν μ μκΈ°λ₯Ό κΈ°λν©λλ€.
### μ€μ
μ£μ‘ν©λλ€ https://github.com/socketio/socket.io-client/issues/1245 볡μ
μ΄ λ¬Έμ λ₯Ό λ€μ μ΄κ² μ΅λλ€. μ΄κ²μ μ½κ° λ€λ¦ λλ€.
μλ‘μ΄ react-native μ€μΉ 0.57.8μ socket ioλ₯Ό μ€μΉνλ €κ³ μλνλλ° μ΄ λ¬Έμ κ° λ€μ λ°μν©λλ€.
κ°μ λ¬Έμ μ μ§λ©΄νμ΅λλ€. RN λ²μ 0.57.3μμλ μλνμ§ μμ΅λλ€. λ‘컬 μλ²μ μ°κ²°ν λ μ λλ‘ μλν©λλ€. κ·Έλ¬λ λ©μΈ λ°±μλ μλ²μ μ°κ²°λμ§ μμ΅λλ€.
λ€μ΄ν°λΈ λ°μ: 0.57.8
λ°μ: 16.6.3
socket.io ν΄λΌμ΄μΈνΈ: 2.0.4
μ΄κ²μ λλ₯Ό μν΄ μΌνμ΅λλ€. λν μλ² μΈ‘μ socketio js λ²μ μ 2.0.4λ‘ λ³κ²½ν΄μΌ ν©λλ€.
λλ κ°μ λ¬Έμ μ μ§λ©΄ ν΄μλ€
@jr-kμ λ¬Έμ λ #1245μ https://github.com/socketio/socket.io-client/issues/1245#issuecomment -451285245μ λ°λΌ @anooj1483 μ ν΄νΉ νμλ μ§μλ©λλ€.
κ·Έκ²μ λλ₯Ό μν΄ λμΌνλ€
κ°μ λ¬Έμ μ μ§λ©΄ν΄ μμ΅λλ€. λλ²κ·Έ λͺ¨λκ° μΌμ Έ μμΌλ©΄ μ μλνμ§λ§ λλ²κ·Έ λͺ¨λκ° κΊΌμ Έ μκ±°λ apkκ° λ¦΄λ¦¬μ€ λͺ¨λλ‘ λΉλλλ©΄ μλνμ§ μμ΅λλ€.
Versions:
"react": "16.8.2",
"react-native": "0.58.4",
"socket.io-client": "^2.2.0"
λ€λ₯Έ λͺ¨λ μ¬λλ€κ³Ό κ°μ λ¬Έμ μ
λλ€. λλ²κΉ
νλ©΄ μλ²½νκ² μλν©λλ€.
React λ€μ΄ν°λΈ μ± λ²μ :
"λ°μ": "16.5.0",
"λ°μ λ€μ΄ν°λΈ": "^0.58.4",
"socket.io-client": "^2.1.1"
μλ² λ²μ :
"socket.io": "2.0.4"
socket.io-client: 2.0.4
λλ₯Ό μν΄ μΌνμ΅λλ€.
2.0.4 + ReactNativeλ₯Ό μ¬μ©ν λ μ€λ₯κ° λ°μν©λλ€.
TypeError: undefinedλ κ°μ²΄κ° μλλλ€('n.protocol' νκ°)
λλ²κ·Έ λͺ¨λμμ λ€μκ³Ό κ°μ΄ host:port λ₯Ό μΆκ°ν λ μμ νμ΅λλ€.
const μμΌ = io(" //domain.com:port ", opts); // μ΄κ²μ λλ²κ·Έ λͺ¨λμμλ§ μλν©λλ€.
NO λλ²κ·Έ λͺ¨λμμ μλνμ§ μμ νλ‘ν μ½μ μΆκ°ν΄μΌ νμ΅λλ€.
const μμΌ = io(" http://domain.com:port ", opts);
λλ κ°μ λ¬Έμ κ°μλ€
react-native : 0.57.8
,
socket-io-client : 2.2.0
λλ²κ·Έκ° νμ±νλ κ²½μ°μλ§ μλν©λλ€.
μ무λ μ΄κ²μ λν μμ μ¬νμ μμ§ μ°Ύμμ΅λκΉ? λλ μ΄μμ΄ ν¨ν€μ§μ μ¬λ¬ λ€λ₯Έ λ²μ μ μλνμ΅λλ€
μ΄ μ€λ₯/λ²κ·Έμ μμΈμ μ¬λ¬ κ°μ§κ° μμ§λ§ μ κ²μ λ§μ μμΈ μ€ νλμΌ λΏμ λλ€.
λ€μκ³Ό κ°μ΄ githubμμ λ§μ§λ§ λ²μ μ μλνκ³ RN android λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
npm i socketio/engine.io-client#3.3.2 -S
건배
λλ²κ·Έ λͺ¨λμμ λ€μκ³Ό κ°μ΄ host:port λ₯Ό μΆκ°ν λ μμ νμ΅λλ€.
const μμΌ = io(" //domain.com:port ", opts); // μ΄κ²μ λλ²κ·Έ λͺ¨λμμλ§ μλν©λλ€.
NO λλ²κ·Έ λͺ¨λμμ μλνμ§ μμ νλ‘ν μ½μ μΆκ°ν΄μΌ νμ΅λλ€.
const μμΌ = io(" http://domain.com:port ", opts);
socket.io 2.1.1 λ° react-native 0.59.8μμ μλν©λλ€. μ¬λν΄μ @ningacoding π π
μλ
νμΈμ @autotrof μ
λλ€ .
react-native 0.59.8 λ° socket.ioλ‘ μλνμ§λ§ λ¦΄λ¦¬μ€ λΉλμμ μ°κ²°ν μ μμ΅λλ€.
IPμ ν¬νΈλ₯Ό μ¬μ©νμ¬ μ°κ²°νκ³ μμ΅λλ€.
μ λ° λ μ’ λμ μ€ μ μλ?
μμ§ ν΄κ²° λͺ»νμ λΆ κ³μ κ°μ?
λμ κ²½μ°μλ
react-native : 0.61.5
socket.io-client: 2.3.0 (I tried another version, 2.1.1, 2.0.1, 2.1.0)
λλ λ§μ°¬κ°μ§λ‘ λλ²κ·Έ λͺ¨λμμλ§ μλνμ΅λλ€ :(
console.dir()
λ₯Ό console.log()
λ‘ λ³κ²½νμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
console.dir()
κΈ°λ₯μ λ¦΄λ¦¬μ€ λͺ¨λλ₯Ό μ§μνμ§ μμ΅λλ€ ππ
λλ₯Ό μν΄ μΌν μλλ‘μ΄λμμ μ΄κ²μ μλνμμμ€
android:label= "@string/app_name"
android:icon= "@mipmap/ic_launcher"
android:roundIcon= "@mipmap/ic_launcher_round"
android:allowBackup= "κ±°μ§"
android:usesCleartextTraffic= "true" <-- μΆκ°
κ°μ₯ μ μ©ν λκΈ
κ°μ λ¬Έμ μ μ§λ©΄ν΄ μμ΅λλ€. λλ²κ·Έ λͺ¨λκ° μΌμ Έ μμΌλ©΄ μ μλνμ§λ§ λλ²κ·Έ λͺ¨λκ° κΊΌμ Έ μκ±°λ apkκ° λ¦΄λ¦¬μ€ λͺ¨λλ‘ λΉλλλ©΄ μλνμ§ μμ΅λλ€.