ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ : Π΄Π»Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ²: stackoverflow ΠΈΠ»ΠΈ slack.
ΠΠ»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΈ Π·Π°ΠΏΡΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Swift, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° , ΠΎΡΠΊΡΡΡΡ Π²ΠΎΠΏΡΠΎΡ ΡΠ°ΠΌ .
ΠΠ»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΈ Π·Π°ΠΏΡΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Java, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° , ΠΎΡΠΊΡΡΡΡ Π²ΠΎΠΏΡΠΎΡ ΡΠ°ΠΌ .
Π§ΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ?
ΠΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Ρ 2.3.0 Π΄ΠΎ 3.0.1 ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ° Π² react-native
-Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠ΅Π°ΠΊΡΠΈΡ.
-Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ socket.io-client.
-ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ : Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± (ΠΈ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ) ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΡΡΡΡΡΠΉ ΠΎΡΠ²Π΅Ρ - ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΡΠΎΡΠ΅Π», ΠΏΡΡΠ΅ΠΌ ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΊΡΠΈΠΏΠΊΠΈ .
Π§ΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ?
Π§ΡΠΎΠ±Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ‘: Android
Π±ΡΠ°ΡΠ·Π΅Ρ:
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΌΠΎΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ΅Π°ΠΊΡΠΈΠΈ, ΠΎΠ½ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° iOS, Π½ΠΎ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ Ρ android.
Π²Π΅ΡΡΠΈΠΈ:
"react-native": "0.63.3",
"socket.io-client": "^ 3.0.1",
ΠΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ:
io.connect ('http://192.168.1.81:3750');
ΠΡΠ΅ Π΅ΡΠ΅ ΠΏΡΡΠ°ΡΡΡ ΠΏΠΎΠ½ΡΡΡ.
Ρ ΡΠΎΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ ΡΠΎΠΊΠ΅Ρ Π²ΡΠ΄Π°Π΅Ρ ΡΡ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΡ:
Π²Π΅ΡΡΠΈΠΈ:
"react-native": "0.63.3",
"socket.io-client": "^ 3.0.1",
Π― Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ react-native, ΠΈ Ρ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
ΡΠ°Π·ΡΠ΅ΠΌ. [email protected]
Π― ΠΏΠ΅ΡΠ΅ΡΠ΅Π» Π½Π° Π²Π΅ΡΡΠΈΡ 2.3.1, ΡΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΏΡΡΠΆΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΠ·Π΅ΡΠΊΡ. [email protected]
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ. Π― Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠ³ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ.
ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΉΡΠΈ ΡΡΡΠΎΠΊΡ, Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ?
@darrachequesne Π― ΠΏΡΠΎΡΠΈΡΠ°Π» Π²Π°Ρ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»
{withCredentials: false}
Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ
ΡΠΎΠΊΠ΅ΡΠΎΠ², ΠΈ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ:
io(SOCKET_URL, {
withCredentials: false,
})
@ Mohamed-Rajab-2112, Π²Ρ ΠΏΡΠ°Π²Ρ, ΡΠ²Π½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° withCredentials
Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ: +1:
ΠΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ [email protected]
(ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ
ΠΎΠ΄ΠΈΡ Π² [email protected]
). ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ?
Π― ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΠΏΡΠΈΠΌΠ΅Ρ React Native Ρ ΠΏΠΎΠΌΠΎΡΡΡ Socket.IO v3 Π·Π΄Π΅ΡΡ: https://github.com/socketio/socket.io/tree/master/examples/react-native
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° RN Π² Typescript. Π Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ RN, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ Π½Π° JS, ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ. Π { withCredentials: false }
Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π² SocketClient.Socket
.
@ Rc85
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° RN Π² Typescript. Π Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ RN, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ Π½Π° JS, ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ. Π
{ withCredentials: false }
Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π²SocketClient.Socket
.
ΠΠ°, Π²Ρ ΠΏΡΠ°Π²Ρ, withCredentials
Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ Π΄ΡΠΌΠ°Ρ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅ΡΠΈΡΡ ΡΡΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ, Π½ΠΎ ΠΏΠΎΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ts ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ.
Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΎΠΊΠ΅ΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ withCredentials
, ΠΏΡΠΎΡΡΠΎ ΡΡΠΎΠ±Ρ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π΅ ΠΆΠ°Π»ΠΎΠ²Π°Π»ΡΡ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ withCredentials
ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎ ΠΎΡΠΈΠ±ΠΊΡ, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΠ° ΠΌΠΎΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π²Ρ
ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Π° ΠΆΡΡΠ½Π°Π» ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π·Π°Π±ΠΈΡ ΡΠΏΠ°ΠΌΠΎΠΌ Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ.
io.on('connection', (socket) => {
console.log('Connecting');
}
Π½ΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½Π΅Π²Π΅ΡΠ½ΠΎ.
{"_callbacks": {"$connecting": [[Function onConnecting]]}, "acks": {}, "connected": false, "disconnected": true, "flags": {}, "ids": 0, "io": {"_autoConnect": true, "_callbacks": {"$close": [Array], "$open": [Array], "$packet": [Array]}, "_randomizationFactor": 0.5, "_readyState": "opening", "_reconnection": true, "_reconnectionAttempts": Infinity, "_reconnectionDelay": 1000, "_reconnectionDelayMax": 5000, "_timeout": 20000, "backoff": {"attempts": 0, "factor": 2, "jitter": 0.5, "max": 5000, "ms": 1000}, "connecting": [[Circular]], "decoder": {}, "encoder": {}, "engine": {"_callbacks": [Object], "hostname": "10.0.0.100", "id": null, "opts": [Object], "pingInterval": null, "pingTimeout": null, "pingTimeoutTimer": null, "port": "80", "prevBufferLen": 0, "readyState": "opening", "secure": false, "transport": [XHR], "transports": [Array], "upgrades": null, "writeBuffer": [Array]}, "nsps": {"/": [Circular]}, "opts": {"hostname": "10.0.0.100", "path": "/socket.io", "port": "80", "secure": false, "withCredentials": false}, "skipReconnect": false, "subs": [[Object], [Object], [Object]], "uri": "http://10.0.0.100"}, "nsp": "/", "receiveBuffer": [], "sendBuffer": [], "subs": [{"destroy": [Function destroy]}, {"destroy": [Function destroy]}, {"destroy": [Function destroy]}]}
Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π²Π΅ΡΡΠΈΡ 2.3.1, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° RN ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ../util
Π² node_modules\engine.io-client\lib\transports\polling-xhr.js
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½. ΠΠ΅ Π±ΡΠ»ΠΎ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΌΠΎΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ RN, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° JS, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ.
Π― ΠΎΡΠΊΡΡΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ engine.io-client.
@darrachequesne, ΡΠ°ΠΊ ΡΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ ΠΌΠ½Π΅ npm uninstall socket.io-client
ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ npm install socket.io-client
ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅?
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅
withCredentials
ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎ ΠΎΡΠΈΠ±ΠΊΡ, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΠ° ΠΌΠΎΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Π° ΠΆΡΡΠ½Π°Π» ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π·Π°Π±ΠΈΡ ΡΠΏΠ°ΠΌΠΎΠΌ Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ.io.on('connection', (socket) => { console.log('Connecting'); }
Π½ΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½Π΅Π²Π΅ΡΠ½ΠΎ.
{"_callbacks": {"$connecting": [[Function onConnecting]]}, "acks": {}, "connected": false, "disconnected": true, "flags": {}, "ids": 0, "io": {"_autoConnect": true, "_callbacks": {"$close": [Array], "$open": [Array], "$packet": [Array]}, "_randomizationFactor": 0.5, "_readyState": "opening", "_reconnection": true, "_reconnectionAttempts": Infinity, "_reconnectionDelay": 1000, "_reconnectionDelayMax": 5000, "_timeout": 20000, "backoff": {"attempts": 0, "factor": 2, "jitter": 0.5, "max": 5000, "ms": 1000}, "connecting": [[Circular]], "decoder": {}, "encoder": {}, "engine": {"_callbacks": [Object], "hostname": "10.0.0.100", "id": null, "opts": [Object], "pingInterval": null, "pingTimeout": null, "pingTimeoutTimer": null, "port": "80", "prevBufferLen": 0, "readyState": "opening", "secure": false, "transport": [XHR], "transports": [Array], "upgrades": null, "writeBuffer": [Array]}, "nsps": {"/": [Circular]}, "opts": {"hostname": "10.0.0.100", "path": "/socket.io", "port": "80", "secure": false, "withCredentials": false}, "skipReconnect": false, "subs": [[Object], [Object], [Object]], "uri": "http://10.0.0.100"}, "nsp": "/", "receiveBuffer": [], "sendBuffer": [], "subs": [{"destroy": [Function destroy]}, {"destroy": [Function destroy]}, {"destroy": [Function destroy]}]}
Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π²Π΅ΡΡΠΈΡ 2.3.1, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° RN ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ
../util
Π²node_modules\engine.io-client\lib\transports\polling-xhr.js
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½. ΠΠ΅ Π±ΡΠ»ΠΎ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΌΠΎΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ RN, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° JS, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ.Π― ΠΎΡΠΊΡΡΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ engine.io-client.
ΠΠ°Π΄Π½ΠΎ, ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π²Π΅ΡΠ΅ΡΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΡ :)
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π΄Π»Ρ ΠΌΠ΅Π½Ρ - ΡΡΠΎ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ socket.io-client Π΄ΠΎ 2.3.1. ΠΠ΄Π½Π°ΠΊΠΎ engine.io-client Π²ΡΠ·Π²Π°Π» ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Β«ΠΈΡΠ΅Ρ Π³Π΄Π΅-ΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ../util
, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ Π² engine.io-client Π²Π΅ΡΡΠΈΠΈ 3.4.4. ΠΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ npm install engine.io-client@latest
ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
Π’Π΅ΠΏΠ΅ΡΡ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ. Π― ΠΏΠΎΠΊΠ° Π±ΡΠ΄Ρ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ 2.3.1.
@ Rc85 Π Π΅Π±ΡΡΠ° ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΎΠ² Π½Π°Π·Π°Π΄, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ, Ρ Π΄ΡΠΌΠ°Ρ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½Π°, ΡΠ΄Π°ΡΠΈ!
ΠΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ https://github.com/socketio/engine.io-client/commit/ccb99e3718e8ee2c50960430d2bd6c12a3dcb0dc.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ npm install socket.io-client@3
ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (ΠΈΠ»ΠΈ npm update --depth 9999 engine.io-client
).
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Expo, Π²Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΡΠΈΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΊΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ expo start --clear