Π― ΠΊΠ°ΠΊ Π±Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² socket.io-client. ΠΡΠΎΡΠΈΡΠ°Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ io.Manager ΠΈ io.Socket. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Ρ ΠΌΠΎΠ³Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΎΠΊΠ΅Ρ ΠΈΠ· io (). Π½ΠΎ ΠΊΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°? ΠΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌ, Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ΠΌ Manager ΠΈ ΡΠΎΠ±ΡΡΠΈΠ΅ΠΌ Socket.
Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π²Π°Ρ.
+1
+1
ΠΠ°, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, Π½ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ.
ΠΏΠΎΠΊΠ° Ρ ΡΡΠ°ΡΠ°ΡΡΡ, Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° manager ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° Π² ΡΠ°ΡΡΠΈ io
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
socket = io(
'http://192.168.2.2:8088' + Param.chatNamespace + '?parammmm=1',
{
query: { key: 'Michael' },
path: Param.path,
transports: ['websocket'],
autoConnect: false, // like this, could be found in manager piece
}
);
Π ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠ³ΠΎ Ρ Ρ
ΠΎΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ.
ΠΠ½Π΅ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΠ·Π½Π°ΡΡ ΡΠ°Π·Π½ΠΈΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΡΡ, ΠΌΠ΅ΠΆΠ΄Ρ:
Π Π² ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·Π°:
ΠΠ°ΠΆΠ΅ΡΡΡ, Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ, Π½ΠΎ Ρ ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ html-ΡΡΡΠ°Π½ΠΈΡΡ, Π»ΠΈΠ±ΠΎ socket.io, Π»ΠΈΠ±ΠΎ socket.io-client
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΈ ΠΈΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ Π²ΠΈΠΆΡ, ΡΡΠΎ Π½Π°Π΄ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΡ, Π½ΠΎ ΠΎΡΠ΅Π½Ρ Π·Π°ΠΏΡΡΠ°Π½Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² Π½Π΅ΠΉ.
Π― ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½. Π― Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΠΈ ΡΠΎΠΊΠ΅ΡΠ°.
+1,
+1
ΠΠ΅Π½Ρ !! ΡΠ°ΠΊ ΡΡΠΎ Π½Π° ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅Ρ ΠΎΡΠ²Π΅ΡΠ° ??? ΠΊΠ°ΠΊ wth !!
ΠΡΠΈΠ²Π΅Ρ! Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»Π°ΡΡΠ°Ρ Manager ΠΈ Socket Π·Π΄Π΅ΡΡ ΠΈ Π·Π΄Π΅ΡΡ .
ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Engine.IO, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΎΠ², ΠΊΠ°ΠΊ WebSocket ΠΈΠ»ΠΈ HTTP long-polling).
ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠ΄ΠΈΠ½ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ.
Socket - ΡΡΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. Socket ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΈΠΌΠ΅Π½ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ /) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ.
ΠΠΎ ΡΡΡΠΈ, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° Π½Π΅ΡΠ²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ io()
. ΠΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠ° io
Socket, ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ Socket (Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ forceNew
):
const socket = io();
const socket2 = io("/test2");
// socket.io === socket2.io
const socket3 = io("/test3", { forceNew: true }); // new manager
// socket.io !== socket3.io
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ Π±ΡΠ΄ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΎΠΌ, ΡΠ°ΠΊ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ Π½ΠΈΠΌ ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ:
Socket Π±ΡΠ΄Π΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΈΠΌΠ΅Π½:
Π‘ΠΊΠ°ΠΆΠΈΡΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΠΈ ΡΡΠΎ ΡΡΠ½ΠΎ. Π ΠΈΠ·Π²ΠΈΠ½ΠΈΡΠ΅ Π·Π° Π·Π°Π΄Π΅ΡΠΆΠΊΡ!
@darrachequesne Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π°ΡΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ io(url, options)
ΠΈ
io.connect(url, options)
ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°? Π Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΎΠΊΠ΅ΡΠ°, Π½ΠΎ ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ?
Ρ ΡΠΎΠΆΠ΅
ΠΠ½Π΅ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΠ·Π½Π°ΡΡ ΡΠ°Π·Π½ΠΈΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΡΡ, ΠΌΠ΅ΠΆΠ΄Ρ:
- io (URL, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ)
- io.connect (URL, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ)
Π Π² ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·Π°:
- Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ (url, ΠΎΠΏΡΠΈΠΈ)
ΠΠ°ΠΆΠ΅ΡΡΡ, Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ, Π½ΠΎ Ρ ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ html-ΡΡΡΠ°Π½ΠΈΡΡ, Π»ΠΈΠ±ΠΎ socket.io, Π»ΠΈΠ±ΠΎ socket.io-client
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΈ ΠΈΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ Π²ΠΈΠΆΡ, ΡΡΠΎ Π½Π°Π΄ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΡ, Π½ΠΎ ΠΎΡΠ΅Π½Ρ Π·Π°ΠΏΡΡΠ°Π½Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² Π½Π΅ΠΉ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ io(url, options)
ΠΈ io.connect(url, options)
ΡΠ°Π²Π½Ρ:
// https://github.com/socketio/socket.io-client/blob/2.3.0/lib/index.js#L15
module.exports = exports = lookup;
// https://github.com/socketio/socket.io-client/blob/2.3.0/lib/index.js#L85
exports.connect = lookup;
Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π΅ΡΡΡ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ
ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅, ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ ...: smile:. ΠΡΠΎΠ΄Π΅ ΡΠ°ΠΊ Ρ 2012 Π³ΠΎΠ΄Π°: https://github.com/socketio/socket.io-client/commit/d5652feadc1a2085942b5a6a22394f07242e77b2. Π― ΠΏΡΠΎΠ²Π΅ΡΡ, Π΅ΡΡΡ Π»ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ, Π½ΠΎ ΠΈΠ½Π°ΡΠ΅ connect()
ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π² Π²Π΅ΡΡΠΈΠΈ 3.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ API. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅:
const socket = io("ws://example.com/my-namespace", {
reconnectionDelayMax: 10000,
query: {
auth: "123"
}
});
// is the same as
const manager = new Manager("ws://example.com", {
reconnectionDelayMax: 10000
});
const socket = manager.socket("/my-namespace", {
query: {
auth: "123"
}
});
Π― ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: https://github.com/socketio/socket.io-website/commit/e779468a8df739a7ff4316719af2931d6ec70539
ΠΠ°Π΄Π΅ΡΡΡ, ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎ ΡΡΠ½Π΅Π΅!
ΠΠΎΡΡΡΠΏ ΠΊ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΌΡΡΠ», ΡΠ°ΠΊ ΡΡΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠΎΠΊΠ΅ΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ°, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, Π½ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ.