Π—Π° мрСТовия ΠΌΠΎΠ΄Π΅Π» Π² ΠΈΠ³Ρ€ΠΈΡ‚Π΅ Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ

Π—Π° мрСТовия ΠΌΠΎΠ΄Π΅Π» Π² ΠΈΠ³Ρ€ΠΈΡ‚Π΅ Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ
ΠŸΡ€Π΅Π· послСднитС Π΄Π²Π΅ сСдмици Ρ€Π°Π±ΠΎΡ‚ΠΈΡ… Π²ΡŠΡ€Ρ…Ρƒ мрСТовия Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π·Π° моята ΠΈΠ³Ρ€Π°. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ… Π½ΠΈΡ‰ΠΎ Π·Π° ΠΌΡ€Π΅ΠΆΠΈΡ‚Π΅ Π² ΠΈΠ³Ρ€ΠΈΡ‚Π΅, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚ΠΎΡ… ΠΌΠ½ΠΎΠ³ΠΎ статии ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ СкспСримСнти, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π° всички ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈ Π΄Π° ΠΌΠΎΠ³Π° Π΄Π° напиша свой собствСн ΠΌΡ€Π΅ΠΆΠΎΠ² Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π».

Π’ Ρ‚ΠΎΠ²Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π±ΠΈΡ… искал Π΄Π° сподСля с вас Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ свой собствСн Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π·Π° ΠΈΠ³Ρ€ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ рСсурси ΠΈ статии Π·Π° тяхното ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π½Π΅.

ΠšΠ°Ρ‚ΠΎ цяло ΠΈΠΌΠ° Π΄Π²Π° основни Ρ‚ΠΈΠΏΠ° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ: peer-to-peer ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-ΡΡŠΡ€Π²ΡŠΡ€. Π’ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° peer-to-peer (p2p) Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ всяка Π΄Π²ΠΎΠΉΠΊΠ° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΈΠ³Ρ€Π°Ρ‡ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-ΡΡŠΡ€Π²ΡŠΡ€ Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚ само ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ³Ρ€Π°Ρ‡ΠΈΡ‚Π΅ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π°.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° peer-to-peer всС ΠΎΡ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² някои ΠΈΠ³Ρ€ΠΈ, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-ΡΡŠΡ€Π²ΡŠΡ€ Π΅ стандарт: тя Π΅ ΠΏΠΎ-лСсна Π·Π° внСдряванС, изисква ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° ΡˆΠΈΡ€ΠΈΠ½Π° Π½Π° ΠΊΠ°Π½Π°Π»Π° ΠΈ улСснява Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° срСщу ΠΈΠ·ΠΌΠ°ΠΌΠ°. Π—Π°Ρ‚ΠΎΠ²Π° Π² Ρ‚ΠΎΠ²Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Ρ‰Π΅ сС ΡΡŠΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΠΌ Π²ΡŠΡ€Ρ…Ρƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-ΡΡŠΡ€Π²ΡŠΡ€.

По-спСциално, Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ сС интСрСсувамС ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π°Ρ€Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ: Π² Ρ‚Π°ΠΊΠΈΠ²Π° систСми ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΏΡ€Π°Π². НапримСр, Π°ΠΊΠΎ ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ мисли, Ρ‡Π΅ Π΅ Π½Π° (10, 5) ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ ΠΌΡƒ ΠΊΠ°ΠΆΠ΅, Ρ‡Π΅ Π΅ Π½Π° (5, 3), Ρ‚ΠΎΠ³Π°Π²Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ трябва Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ своята позиция с Ρ‚Π°Π·ΠΈ, която ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°, Π° Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΡ‚ΠΎ. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ улСснява Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ·ΠΌΠ°ΠΌΠ½ΠΈΡ†ΠΈ.

Има Ρ‚Ρ€ΠΈ основни ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ систСми Π·Π° ΠΈΠ³Ρ€ΠΈ:

  • ВранспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»: ΠΊΠ°ΠΊ сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π°.
  • ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ: ΠΊΠ°ΠΊΠ²ΠΎ сС ΠΏΡ€Π΅Π΄Π°Π²Π° ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ към ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π° към ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ Π² какъв Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.
  • Π›ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ: ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π°.

Много Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ ролята Π½Π° всяка част ΠΈ трудноститС, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с тях.

ВранспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»

ΠŸΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° транспортиранС Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅. Има Π΄Π²Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π·Π° Ρ‚ΠΎΠ²Π°: TCP ΠΈ UDP. Но ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ свой собствСн транспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» въз основа Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ тях ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, която Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° TCP ΠΈ UDP

И TCP, ΠΈ UDP сС основават Π½Π° IP. IP позволява ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄Π° бъдС ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ ΠΎΡ‚ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ към ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π», Π½ΠΎ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ изпратСният ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ‰Π΅ достигнС Π΄ΠΎ получатСля Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно, Ρ‡Π΅ Ρ‰Π΅ стигнС Π΄ΠΎ Π½Π΅Π³ΠΎ ΠΏΠΎΠ½Π΅ вСднъТ ΠΈ Ρ‡Π΅ послСдоватСлността ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Ρ‰Π΅ пристигнС Π² правилния Ρ€Π΅Π΄. ОсвСн Ρ‚ΠΎΠ²Π° Π΅Π΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° само ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, Π΄Π°Π΄Π΅Π½ ΠΎΡ‚ стойността MTU.

UDP Π΅ само Ρ‚ΡŠΠ½ΡŠΠΊ слой Π²ΡŠΡ€Ρ…Ρƒ IP. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΈΠΌΠ° ΡΡŠΡ‰ΠΈΡ‚Π΅ ограничСния. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ Π½Π΅Π³ΠΎ TCP ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ΠΎΠΉ осигурява Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π° възСла с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ TCP Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² HTTP, FTP ΠΈ SMTP. Но всички Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ°Ρ‚ Ρ†Π΅Π½Π°: забавянС.

Π—Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π·Π°Ρ‰ΠΎ Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° причинят забавянС, трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ TCP. ΠšΠΎΠ³Π°Ρ‚ΠΎ изпращащият хост ΠΏΡ€Π΅Π΄Π°Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚ към приСмащия хост, Ρ‚ΠΎΠΉ ΠΎΡ‡Π°ΠΊΠ²Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ (ACK). Ако слСд ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ (Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ ΠΈΠ·Π³ΡƒΠ±Π΅Π½, ΠΈΠ»ΠΈ ΠΏΠΎ някаква Π΄Ρ€ΡƒΠ³Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°), Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ. ОсвСн Ρ‚ΠΎΠ²Π° TCP Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ Π² правилния Ρ€Π΅Π΄, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ бъдС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΈΠ·Π³ΡƒΠ±Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚, всички Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ Π²Π΅Ρ‡Π΅ са Π±ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ ΠΎΡ‚ приСмащия възСл.

Но ΠΊΠ°ΠΊΡ‚ΠΎ вСроятно Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅, забавянСто Π² ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΉΡŠΡ€ ΠΈΠ³Ρ€ΠΈΡ‚Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ, особСно Π² Ρ‚Π°ΠΊΠΈΠ²Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΆΠ°Π½Ρ€ΠΎΠ²Π΅ ΠΊΠ°Ρ‚ΠΎ FPS. Π•Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ UDP със собствСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

Родният ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° UDP, ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΎΡ‚ TCP ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ. НапримСр, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π° някои ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ, Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ°Ρ‚ΠΎ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ Ρ‚ΠΎΠΉ Π½Π΅ сС интСрСсува Π΄Π°Π»ΠΈ нСнадСТдният ΠΏΠ°ΠΊΠ΅Ρ‚ Π΅ достигнал Π΄ΠΎ получатСля. Или ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° мноТСство ΠΏΠΎΡ‚ΠΎΡ†ΠΈ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚, Π·Π°Π³ΡƒΠ±Π΅Π½ Π² Π΅Π΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ, Π΄Π° Π½Π΅ забавя Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ. НапримСр, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° нишка Π·Π° въвСТданС Π½Π° ΠΈΠ³Ρ€Π°Ρ‡ ΠΈ Π΄Ρ€ΡƒΠ³Π° нишка Π·Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π² Ρ‡Π°Ρ‚. Ако Ρ‡Π°Ρ‚ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ спСшно, сС Π·Π°Π³ΡƒΠ±ΠΈ, Ρ‚ΠΎ няма Π΄Π° Π·Π°Π±Π°Π²ΠΈ Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ спСшно. Или ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΠ²Π°Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° надСТдността ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ ΠΎΡ‚ TCP, Π·Π° Π΄Π° бъдС ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ Π² срСда Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€ΠΈ.

Π’Π°ΠΊΠ° Ρ‡Π΅, Π°ΠΊΠΎ TCP Π΅ Π³Π°Π΄Π΅Π½, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌ наш собствСн транспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° UDP?

Всичко Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-слоТно. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ TCP Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ Π·Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ систСми Π·Π° ΠΈΠ³Ρ€ΠΈ, Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ доста Π΄ΠΎΠ±Ρ€Π΅ Π·Π° Π²Π°ΡˆΠ°Ρ‚Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° ΠΈΠ³Ρ€Π° ΠΈ Π΄Π° Π²ΠΈ спСсти Ρ†Π΅Π½Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅. НапримСр забавянСто ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π·Π° ΠΏΠΎΡ…ΠΎΠ΄ΠΎΠ²Π° ΠΈΠ³Ρ€Π° ΠΈΠ»ΠΈ ΠΈΠ³Ρ€Π°, която ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ³Ρ€Π°Π΅ само Π² LAN ΠΌΡ€Π΅ΠΆΠΈ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ забавянСто ΠΈ Π·Π°Π³ΡƒΠ±Π°Ρ‚Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ са ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

Много ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈ ΠΈΠ³Ρ€ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ World of Warcraft, Minecraft ΠΈ Terraria, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ TCP. ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ FPS ΠΎΠ±Π°Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ свои собствСни UDP-Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° тях ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ.

Ако ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ TCP, ΡƒΠ²Π΅Ρ€Π΅Ρ‚Π΅ сС, Ρ‡Π΅ Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π½Π° Nagle, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π±ΡƒΡ„Π΅Ρ€ΠΈΡ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° забавянСто.

Π—Π° Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ UDP ΠΈ TCP Π² контСкста Π½Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΉΡŠΡ€ ΠΈΠ³Ρ€ΠΈ, Π²ΠΈΠΆΡ‚Π΅ статията Π½Π° Glenn Fiedler UDP срСщу. TCP.

БобствСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»

Π—Π½Π°Ρ‡ΠΈ искатС Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ свой собствСн транспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡŠΠ΄Π΅ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅? Π˜ΠΌΠ°Ρ‚Π΅ ΠΊΡŠΡΠΌΠ΅Ρ‚, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€ написа Π΄Π²Π΅ нСвСроятни статии Π·Π° Ρ‚ΠΎΠ²Π°. Π’ тях Ρ‰Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΌΠ½ΠΈ ΠΈΠ΄Π΅ΠΈ.

ΠŸΡŠΡ€Π²Π° статия Π Π°Π±ΠΎΡ‚Π° Π² ΠΌΡ€Π΅ΠΆΠ° Π·Π° програмисти Π½Π° ΠΈΠ³Ρ€ΠΈ 2008, ΠΏΠΎ-лСсСн ΠΎΡ‚ втория Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΈΠ³Ρ€Π° 2016 Π³. ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π²ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ с ΠΏΠΎ-стария.

Π˜ΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€ Π΅ голям ΠΏΡ€ΠΈΠ²ΡŠΡ€ΠΆΠ΅Π½ΠΈΠΊ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ваш собствСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° UDP. И слСд ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ статии, вСроятно Ρ‰Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ΅Ρ‚Π΅ ΠΌΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΡƒ, Ρ‡Π΅ TCP ΠΈΠΌΠ° сСриозни Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ във Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€ΠΈΡ‚Π΅ ΠΈ Ρ‰Π΅ искатС Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈΡ‚Π΅ свой собствСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

Но Π°ΠΊΠΎ стС Π½ΠΎΠ² Π² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π² ΠΌΡ€Π΅ΠΆΠ°, Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ си услуга ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ TCP ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. Π—Π° Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈΡ‚Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ свой собствСн транспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», трябва Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ.

ΠœΡ€Π΅ΠΆΠΎΠ²ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Ако ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π½Π΅Ρ‰ΠΎ ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΎΡ‚ TCP, Π½ΠΎ Π½Π΅ искатС Π΄Π° си ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚Ρ€ΡƒΠ΄Π° Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚Π΅ свой собствСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈ Π΄Π° Π½Π°Π²Π»ΠΈΠ·Π°Ρ‚Π΅ Π² ΠΌΠ½ΠΎΠ³ΠΎ подробности, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π½Π΅Ρ‚Π½Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. Има ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ тях:

  • ΠΉΠΎΠ΄ΠΆΠΈΠΌΠ±ΠΎ Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€
  • Raknet, ΠΊΠΎΠΉΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°, Π½ΠΎ нСговият Ρ„ΠΎΡ€ΠΊ SLikeNet ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½.
  • ENet Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, създадСна Π·Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΉΡŠΡ€ FPS ΠΊΡƒΠ±
  • GameNetworkingSockets ΠΎΡ‚ Valve

НС съм ΠΏΡ€ΠΎΠ±Π²Π°Π» всички, Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΌ ENet, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ лСсСн Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½. ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° ясна докумСнтация ΠΈ ΡƒΡ€ΠΎΠΊ Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ.

ВранспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π—Π° Π΄Π° ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΠΌ, ΠΈΠΌΠ° Π΄Π²Π° основни транспортни ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°: TCP ΠΈ UDP. TCP ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: надСТдност, Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ€Π΅Π΄Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅, ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. UDP няма всичко Ρ‚ΠΎΠ²Π°, Π½ΠΎ TCP ΠΏΠΎ своята ΡΡŠΡ‰Π½ΠΎΡΡ‚ ΠΈΠΌΠ° висока латСнтност, която Π΅ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²Π° Π·Π° някои ΠΈΠ³Ρ€ΠΈ. ВоСст, Π·Π° Π΄Π° осигуритС ниска латСнтност, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ свой собствСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° UDP, ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, която ΠΏΡ€ΠΈΠ»Π°Π³Π° транспортния ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½Π° UDP ΠΈ Π΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½Π° Π·Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΉΡŠΡ€ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ³Ρ€ΠΈ.

Π˜Π·Π±ΠΎΡ€ΡŠΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ TCP, UDP ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° зависи ΠΎΡ‚ няколко Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°. ΠŸΡŠΡ€Π²ΠΎ, ΠΎΡ‚ Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°: ΠΈΠΌΠ° Π»ΠΈ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ниска латСнтност? Π’Ρ‚ΠΎΡ€ΠΎ, ΠΎΡ‚ изискванията Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ: ΠΈΠΌΠ° Π»ΠΈ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»? ΠšΠ°ΠΊΡ‚ΠΎ Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ Π² слСдващата част, възмоТно Π΅ Π΄Π° сС създадС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π΅ напълно подходящ. И накрая, трябва Π΄Π° Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΈ ΠΎΠΏΠΈΡ‚Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° мрСТовия Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π».

Имам Π΄Π²Π° ΡΡŠΠ²Π΅Ρ‚Π°:

  • АбстрахирайтС транспортния ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΅ възмоТно ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ останалата част ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° ΠΌΠΎΠΆΠ΅ лСсно Π΄Π° бъдС Π·Π°ΠΌΠ΅Π½Π΅Π½, Π±Π΅Π· Π΄Π° прСнаписватС цСлия ΠΊΠΎΠ΄.
  • НС прСкалявайтС с ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ. Ако Π½Π΅ стС ΠΌΡ€Π΅ΠΆΠΎΠ² СкспСрт ΠΈ Π½Π΅ стС сигурни Π΄Π°Π»ΠΈ ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ собствСн UDP-Π±Π°Π·ΠΈΡ€Π°Π½ транспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ с TCP ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, която осигурява надСТдност, ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° тСстватС ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°Ρ‚Π΅ производитСлността. Ако ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ стС сигурни, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ транспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ свой собствСн транспортСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

Π’ края Π½Π° Ρ‚Π°Π·ΠΈ част Π²ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΉΡŠΡ€ ΠΈΠ³Ρ€ΠΈ Brian Hook, ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΠ±Ρ…Π²Π°Ρ‰Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ Ρ‚Π΅ΠΌΠΈΡ‚Π΅, обсъТдани Ρ‚ΡƒΠΊ.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π‘Π΅Π³Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° обмСнямС Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π°, трябва Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ Π΄Π°Π½Π½ΠΈ Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΠΌ ΠΈ Π² какъв Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

ΠšΠ»Π°ΡΠΈΡ‡Π΅ΡΠΊΠ°Ρ‚Π° схСма Π΅, Ρ‡Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π²Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ дСйствия Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Π° ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅.

Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π½Π΅ ΠΏΡŠΠ»Π½ΠΎΡ‚ΠΎ, Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ с ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΈΠ³Ρ€Π°Ρ‡Π°. Π’ΠΎΠΉ ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΠΎ Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ. ΠŸΡŠΡ€Π²ΠΎ, ΠΎΠ±Ρ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Ρ‚Π²ΡŠΡ€Π΄Π΅ голямо Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° висока чСстота. Π’Ρ‚ΠΎΡ€ΠΎ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС интСрСсуват Π³Π»Π°Π²Π½ΠΎ ΠΎΡ‚ Π²ΠΈΠ·ΡƒΠ°Π»Π½ΠΈ ΠΈ Π°ΡƒΠ΄ΠΈΠΎ Π΄Π°Π½Π½ΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ-голямата част ΠΎΡ‚ Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° сС симулира Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°. Π’Ρ€Π΅Ρ‚ΠΎ, Π² някои ΠΈΠ³Ρ€ΠΈ ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ Π½Π΅ трябва Π΄Π° Π·Π½Π°Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ позицията Π½Π° Π²Ρ€Π°Π³Π° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° страна Π½Π° ΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Π΄ΡƒΡˆΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ Π΄Π° Π·Π½Π°Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ къдС Π΄Π° сС Π΄Π²ΠΈΠΆΠΈ, Π·Π° Π΄Π° Π³ΠΎ ΡƒΠ±ΠΈΠ΅.

БСриализация

ΠŸΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π΅ Π΄Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ искамС Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΠΌ (Π²Ρ…ΠΎΠ΄ ΠΈΠ»ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°), във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, подходящ Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅. Π’ΠΎΠ·ΠΈ процСс сС Π½Π°Ρ€ΠΈΡ‡Π° сСриализация.

Π˜Π΄Π΅ΡΡ‚Π° Π²Π΅Π΄Π½Π°Π³Π° ΠΈΠ΄Π²Π° Π½Π° ΡƒΠΌ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ‡Π΅Ρ‚Π΅ ΠΎΡ‚ Ρ‡ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ JSON ΠΈΠ»ΠΈ XML. Но Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС напълно Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈ Ρ‰Π΅ Π·Π°Π΅ΠΌΠ΅ ΠΏΠΎ-голямата част ΠΎΡ‚ ΠΊΠ°Π½Π°Π»Π° Π·Π° Π½ΠΈΡ‰ΠΎ.

ВмСсто Ρ‚ΠΎΠ²Π° сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π²ΠΎΠΈΡ‡Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π΅Π½. ВоСст ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Ρ‰Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ само няколко Π±Π°ΠΉΡ‚Π°. Π’ΡƒΠΊ трябва Π΄Π° ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅Π΄ Π½Π° Π±Π°ΠΉΡ‚ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ.

Π—Π° Π΄Π° сСриализиратС Π΄Π°Π½Π½ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€ΠΎΡΡ‚ΠΎ сС ΡƒΠ²Π΅Ρ€Π΅Ρ‚Π΅, Ρ‡Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° създава прСносими Π°Ρ€Ρ…ΠΈΠ²ΠΈ ΠΈ сС Π³Ρ€ΠΈΠΆΠΈ Π·Π° endianness.

АлтСрнативно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄Π° Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚Π΅ сами, Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, особСно Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ към Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ във вашия ΠΊΠΎΠ΄. ОсвСн Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ са възмоТни ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°.

Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€ Π΅ написал Π΄Π²Π΅ статии Π·Π° сСриализацията: Π§Π΅Ρ‚Π΅Π½Π΅ ΠΈ писанС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ Π·Π° сСриализация.

компрСсия

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΡ‚ΠΎ Π΄Π°Π½Π½ΠΈ, ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π°, Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΎΡ‚ чСстотната Π»Π΅Π½Ρ‚Π° Π½Π° ΠΊΠ°Π½Π°Π»Π°. ΠšΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π΄Π°Π½Π½ΠΈ във всяка ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка, Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅ чСстотата Π½Π° опрСсняванС ΠΈΠ»ΠΈ просто Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡ‚Π΅ изискванията Π·Π° чСстотна Π»Π΅Π½Ρ‚Π°.

Опаковка Π½Π° Π±ΠΈΡ‚ΠΎΠ²Π΅

ΠŸΡŠΡ€Π²Π°Ρ‚Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π±ΠΈΡ‚ΠΎΠ²Π΅. Π‘ΡŠΡΡ‚ΠΎΠΈ сС Π² ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚ΠΎΠ·ΠΈ Π±Ρ€ΠΎΠΉ Π±ΠΈΡ‚ΠΎΠ²Π΅, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π·Π° описаниС Π½Π° ΠΆΠ΅Π»Π°Π½Π°Ρ‚Π° стойност. НапримСр, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ enum, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° 16 Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ стойности, Ρ‚ΠΎΠ³Π°Π²Π° вмСсто цял Π±Π°ΠΉΡ‚ (8 Π±ΠΈΡ‚Π°), ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ само 4 Π±ΠΈΡ‚Π°.

Glenn Fiedler обяснява ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° във Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° част Π½Π° статията. Π§Π΅Ρ‚Π΅Π½Π΅ ΠΈ писанС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ.

ΠŸΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΠΈΡ‚ΠΎΠ²Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ особСно Π΄ΠΎΠ±Ρ€Π΅ с дискрСтизация, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ бъдС Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π½Π° слСдващия Ρ€Π°Π·Π΄Π΅Π».

Π’Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±ΠΈ

Π’Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±ΠΈ Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° компрСсиранС със Π·Π°Π³ΡƒΠ±ΠΈ, която ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само подмноТСство ΠΎΡ‚ възмоТни стойности Π·Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° стойност. Най-лСсният Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° дискрСтизация Π΅ Ρ‡Ρ€Π΅Π· Π·Π°ΠΊΡ€ΡŠΠ³Π»ΡΠ²Π°Π½Π΅ Π½Π° числа с ΠΏΠ»Π°Π²Π°Ρ‰Π° запСтая.

Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€ (ΠΎΡ‚Π½ΠΎΠ²ΠΎ!) ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ дискрСтизацията Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π² своята статия ΠšΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка.

Алгоритми Π·Π° компрСсиранС

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Ρ‰Π΅ бъдС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‚Π΅ Π·Π° компрСсия Π±Π΅Π· Π·Π°Π³ΡƒΠ±ΠΈ.

Π•Ρ‚ΠΎ, спорСд ΠΌΠ΅Π½, Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π°ΠΉ-интСрСсни Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ°, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅:

  • ΠšΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π₯ΡŠΡ„ΠΌΠ°Π½ с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ изчислСн ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π±ΡŠΡ€Π· ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π°Π΄Π΅ Π΄ΠΎΠ±Ρ€ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ. Използва сС Π·Π° компрСсиранС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π² мрСТовия Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π½Π° Quake3.
  • Zlib Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° компрСсиранС с ΠΎΠ±Ρ‰ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΉΡ‚ΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° количСството Π΄Π°Π½Π½ΠΈ. Как ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊ, Ρ‚ΠΎΠΉ Π΅ Π±ΠΈΠ» ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ прилоТСния. Π—Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡΡ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ излишно. Но ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π°ΠΊΠΎ трябва Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈ, дълги тСкстовС ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€Π΅Π½ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π°.
  • ΠšΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° дълТини Π΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π°ΠΉ-простият Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° компрСсиранС, Π½ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ ΡΡ‚ΡŠΠΏΠΊΠ° Π·Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€Π΅Π΄ΠΈ zlib. ОсобСно подходящ Π΅ Π·Π° компрСсиранС Π½Π° Ρ‚Π΅Ρ€Π΅Π½ΠΈ, ΡΡŠΡΡ‚ΠΎΡΡ‰ΠΈ сС ΠΎΡ‚ ΠΏΠ»ΠΎΡ‡ΠΊΠΈ ΠΈΠ»ΠΈ воксСли, Π² ΠΊΠΎΠΈΡ‚ΠΎ сС повтарят ΠΌΠ½ΠΎΠ³ΠΎ съсСдни Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ.

Π΄Π΅Π»Ρ‚Π° компрСсия

ΠŸΠΎΡΠ»Π΅Π΄Π½Π°Ρ‚Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π½Π° компрСсия Π΅ Π΄Π΅Π»Ρ‚Π° компрСсия. Π‘ΡŠΡΡ‚ΠΎΠΈ сС във Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ само Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΈ послСдното ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Π—Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² мрСТовия Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π½Π° Quake3. Π•Ρ‚ΠΎ Π΄Π²Π΅ статии, обясняващи ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅:

Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€ ΡΡŠΡ‰ΠΎ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° във Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° част Π½Π° статията си. ΠšΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка.

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅

ОсвСн Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° информация ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π°. Има няколко ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°:

  • ΠŸΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚/ΠŸΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚: Π‘ΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ само ΠΎΡ‚ получатСля ΠΈ Π½ΠΈΠΊΠΎΠΉ Π΄Ρ€ΡƒΠ³ ΠΌΡ€Π΅ΠΆΠΎΠ² ΡΠ½ΠΈΡ„ΡŠΡ€ няма Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅.
  • удостовСряванС: Ρ‡ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ иска Π΄Π° ΠΈΠ³Ρ€Π°Π΅ ролята Π½Π° ΠΈΠ³Ρ€Π°Ρ‡, трябва Π΄Π° Π·Π½Π°Π΅ нСговия ΠΊΠ»ΡŽΡ‡.
  • прСдотвратяванС Π½Π° ΠΈΠ·ΠΌΠ°ΠΌΠ°: Ρ‰Π΅ бъдС ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π·Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ‚Π΅ ΠΈΠ³Ρ€Π°Ρ‡ΠΈ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ свои собствСни ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° ΠΈΠ·ΠΌΠ°ΠΌΠ°, Ρ‚Π΅ Ρ‰Π΅ трябва Π΄Π° ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚ схСмата Π·Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π΅ ΠΈ Π΄Π° намСрят ΠΊΠ»ΡŽΡ‡Π° (ΠΊΠΎΠΉΡ‚ΠΎ сС промСня ΠΏΡ€ΠΈ всяка Π²Ρ€ΡŠΠ·ΠΊΠ°).

Π“ΠΎΡ€Π΅Ρ‰ΠΎ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° Ρ‚ΠΎΠ²Π°. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ либсодиум, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ проста ΠΈ ΠΈΠΌΠ° страхотни ΡƒΡ€ΠΎΡ†ΠΈ. ОсобСно интСрСсСн Π΅ ΡƒΡ€ΠΎΠΊΡŠΡ‚ ΠΏΠΎ ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚Π΅ Π½ΠΎΠ²ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΏΡ€ΠΈ всяка Π½ΠΎΠ²Π° Π²Ρ€ΡŠΠ·ΠΊΠ°.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ΠΎΠ²Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Вярвам, Ρ‡Π΅ компрСсията Π΅ напълно Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½Π° ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° зависи само ΠΎΡ‚ ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°Ρ‚Π° чСстотна Π»Π΅Π½Ρ‚Π°. Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π΅Ρ‚ΠΎ спорСд ΠΌΠ΅Π½ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ, Π½ΠΎ Π² ΠΏΡŠΡ€Π²ΠΈΡ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ.

Π›ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ

Π’Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°Ρ‚ΡŠΠΊΠ½Π΅ΠΌ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със Π·Π°ΠΊΡŠΡΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ. Π˜Π³Ρ€Π°Ρ‡ΡŠΡ‚, слСд ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ въвСТданС, трябва Π΄Π° ΠΈΠ·Ρ‡Π°ΠΊΠ° актуализация Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π°, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈ какъв Π΅Ρ„Π΅ΠΊΡ‚ ΠΈΠΌΠ° Π²ΡŠΡ€Ρ…Ρƒ свСта.

ОсвСн Ρ‚ΠΎΠ²Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ ΡΠ²Π΅Ρ‚ΡŠΡ‚ Π΅ напълно статичСн. Ако скоростта Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π΅ ниска, Ρ‚ΠΎΠ³Π°Π²Π° двиТСнията Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΠΊΠΈ.

Има няколко Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° смСкчаванС Π½Π° Π²ΡŠΠ·Π΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ Ρ‰Π΅ Π³ΠΈ обсъдя Π² слСдващия Ρ€Π°Π·Π΄Π΅Π».

Π’Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° ΠΈΠ·Π³Π»Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° забавянС

Всички Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, описани Π² Ρ‚ΠΎΠ·ΠΈ Ρ€Π°Π·Π΄Π΅Π», сС ΠΎΠ±ΡΡŠΠΆΠ΄Π°Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π² ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π°Ρ‚Π°. Π‘ΡŠΡ€Π· ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΉΡŠΡ€ Π“Π°Π±Ρ€ΠΈΠ΅Π» Π“Π°ΠΌΠ±Π΅Ρ‚Π°. Π‘ΠΈΠ»Π½ΠΎ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚Π°Π·ΠΈ страхотна ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ статии. Π’ΠΎΠΉ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° дСмонстрация, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Ρ‚Π΅Π·ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ работят Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°.

ΠŸΡŠΡ€Π²Π°Ρ‚Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π΅ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ входния Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ, Π±Π΅Π· Π΄Π° Ρ‡Π°ΠΊΠ°Ρ‚Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π°. Нарича сС ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ страна Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ актуализация ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π°, Ρ‚ΠΎΠΉ трябва Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ Π΄Π°Π»ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°Ρ‚Π° ΠΌΡƒ Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½Π°. Ако Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Ρ‚Π°ΠΊΠ°, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠΉ просто трябва Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ си спорСд Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π°Ρ€Π΅Π½. Π’Π°Π·ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚ Π² Quake. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° Π² статията. ΠŸΡ€Π΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° Quake Engine Π€Π°Π±ΠΈΠ΅Π½ Бангларс [ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° Π₯Π°Π±Ρ€Π΅].

Вторият Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π³Π»Π°Π΄ΠΊΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ. Има Π΄Π²Π° Π½Π°Ρ‡ΠΈΠ½Π° Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: интСрполация ΠΈ Скстраполация. Π’ случай Π½Π° интСрполация сС Π²Π·Π΅ΠΌΠ°Ρ‚ послСднитС Π΄Π²Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ ΠΈ сС ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡ€Π΅Ρ…ΠΎΠ΄ΡŠΡ‚ ΠΎΡ‚ Π΅Π΄Π½ΠΎΡ‚ΠΎ към Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ. ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊΡŠΡ‚ ΠΌΡƒ Π΅, Ρ‡Π΅ причинява ΠΌΠ°Π»ΠΊΠ° част ΠΎΡ‚ забавянСто, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π²ΠΈΠ½Π°Π³ΠΈ Π²ΠΈΠΆΠ΄Π° ΠΊΠ°ΠΊΠ²ΠΎ сС Π΅ случило Π² ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ΠΎ. Екстраполацията Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½Π° с ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π°Π½Π΅ къдС трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ сСга въз основа Π½Π° послСдното ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. НСговият Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ Π΅, Ρ‡Π΅ Π°ΠΊΠΎ ΠΎΠ±Π΅ΠΊΡ‚ΡŠΡ‚ напълно ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ посоката Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΈΠΌΠ° голяма Π³Ρ€Π΅ΡˆΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°Ρ‚Π° ΠΈ Ρ€Π΅Π°Π»Π½Π°Ρ‚Π° позиция.

ΠŸΠΎΡΠ»Π΅Π΄Π½Π°Ρ‚Π°, Π½Π°ΠΉ-ΠΌΠΎΠ΄Π΅Ρ€Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°, ΠΏΠΎΠ»Π΅Π·Π½Π° само Π² FPS, Π΅ компСнсация Π½Π° изоставанСто. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° компСнсация Π·Π° забавянС, ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π·Π°ΠΊΡŠΡΠ½Π΅Π½ΠΈΡΡ‚Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ стрСля ΠΏΠΎ Ρ†Π΅Π»Ρ‚Π°. НапримСр, Π°ΠΊΠΎ ΠΈΠ³Ρ€Π°Ρ‡ Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ…Π΅Π΄ΡˆΠΎΡ‚ Π½Π° Π΅ΠΊΡ€Π°Π½Π° си, Π½ΠΎ Π² дСйствитСлност Ρ†Π΅Π»Ρ‚Π° ΠΌΡƒ Π΅ Π±ΠΈΠ»Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎ място ΠΏΠΎΡ€Π°Π΄ΠΈ забавянСто, Ρ‚ΠΎΠ³Π°Π²Π° Π±ΠΈ Π±ΠΈΠ»ΠΎ нСсправСдливо Π΄Π° сС ΠΎΡ‚ΠΊΠ°ΠΆΠ΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π° ΠΏΡ€Π°Π²ΠΎΡ‚ΠΎ Π΄Π° ΡƒΠ±ΠΈΠ²Π° ΠΏΠΎΡ€Π°Π΄ΠΈ забавянСто. Π’Π°ΠΊΠ° Ρ‡Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π²Ρ€ΡŠΡ‰Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π°Π·Π°Π΄ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ Π΅ стрСлял, Π·Π° Π΄Π° симулира Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ Π΅ видял Π½Π° своя Π΅ΠΊΡ€Π°Π½ ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ Π·Π° сблъсък ΠΌΠ΅ΠΆΠ΄Ρƒ нСговия изстрСл ΠΈ Ρ†Π΅Π»Ρ‚Π°.

Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€ (ΠΊΠ°ΠΊΡ‚ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ!) написа статия ΠΏΡ€Π΅Π· 2004 Π³ ΠœΡ€Π΅ΠΆΠΎΠ²Π° Ρ„ΠΈΠ·ΠΈΠΊΠ° (2004), Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈ основитС Π·Π° синхронизиранСто Π½Π° физичСскитС симулации ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠŸΡ€Π΅Π· 2014 Π³. написа Π½ΠΎΠ²Π° ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ статии Ρ„ΠΈΠ·ΠΈΠΊΠ° Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚ΠΎΠΉ описва Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° синхронизиранС Π½Π° физичСски симулации.

Има ΠΈ Π΄Π²Π΅ статии Π² ΡƒΠΈΠΊΠΈΡ‚ΠΎ Π½Π° Valve, Π˜Π·Ρ…ΠΎΠ΄Π½Π° ΠΌΡ€Π΅ΠΆΠ° Π·Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΉΡŠΡ€ ΠΈ ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° компСнсиранС Π½Π° латСнтността Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈ оптимизацията Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚/ΡΡŠΡ€Π²ΡŠΡ€ Π² ΠΈΠ³Ρ€Π°Ρ‚Π° Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ‰ΠΈ сС с ΠΎΠ±Π΅Π·Ρ‰Π΅Ρ‚Π΅Π½ΠΈΠ΅ Π·Π° забавянС.

ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΌΠ°ΠΌΠ°

Има Π΄Π²Π΅ основни Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° прСдотвратяванС Π½Π° ΠΈΠ·ΠΌΠ°ΠΌΠ°.

ΠŸΡŠΡ€Π²ΠΎ, затруднява ΠΈΠ·ΠΌΠ°ΠΌΠ½ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ. ΠšΠ°ΠΊΡ‚ΠΎ Π±Π΅ спомСнато ΠΏΠΎ-Π³ΠΎΡ€Π΅, Π΄ΠΎΠ±ΡŠΡ€ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ ΠΌΡƒ Π΅ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ.

Π’Ρ‚ΠΎΡ€ΠΎ, авторитСтният ΡΡŠΡ€Π²ΡŠΡ€ трябва Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° само ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ/въвСТданС/дСйствия. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π½Π΅ трябва Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° промСня ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, освСн Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚, всСки ΠΏΡŠΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ въвСТданС, трябва Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ Π·Π° валидност, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ.

Π›ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ: Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π²ΠΈ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ Π½Π°Ρ‡ΠΈΠ½ Π·Π° симулиранС Π½Π° висока латСнтност ΠΈ ниски чСстоти Π½Π° опрСсняванС, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° тСстватС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° ΠΈΠ³Ρ€Π° ΠΏΡ€ΠΈ лоши условия, Π΄ΠΎΡ€ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ работят Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° машина. Π’ΠΎΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ опростява ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈΡ‚Π΅ Π·Π° ΠΈΠ·Π³Π»Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° забавянСто.

Π”Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ рСсурси

Ако искатС Π΄Π° ΠΏΡ€ΠΎΡƒΡ‡ΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈ рСсурси Π·Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊ:

  • Π‘Π»ΠΎΠ³ΡŠΡ‚ Π½Π° Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€ β€” струва си Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ цСлия ΠΌΡƒ Π±Π»ΠΎΠ³, Π² Π½Π΅Π³ΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΈ статии. Π’ΡƒΠΊ всички статии Π·Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ са ΡΡŠΠ±Ρ€Π°Π½ΠΈ.
  • Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π½Π° ΠΈΠ³Ρ€Π° Π² ΠΌΡ€Π΅ΠΆΠ° ΠΎΡ‚ M. Fatih MAR Π΅ ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠ°Ρ‚Π΅Π»Π΅Π½ списък ΠΎΡ‚ статии ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏΠΎΠ²Π΅ Π·Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€ΠΈ.
  • Π’ wiki subreddit r/gamedev Има ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€