Π—Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΈΠ³Ρ€ΠΈΡ‚Π΅ Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ

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

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

Накратко, ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π΄Π²Π° основни Ρ‚ΠΈΠΏΠ° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ: 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, ΡƒΠ²Π΅Ρ€Π΅Ρ‚Π΅ сС, Ρ‡Π΅ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π½Π° НСйгъл, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ΠΈΡ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° забавянСто.

Π—Π° Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ UDP ΠΈ TCP Π² контСкста Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΊΠΈ ΠΈΠ³Ρ€ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ статията Π½Π° Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€ UDP vs. TCP.

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

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

ΠŸΡŠΡ€Π²Π°Ρ‚Π° статия, Networking for Game Programmers ΠΎΡ‚ 2008 Π³., Π΅ ΠΏΠΎ-лСсна ΠΎΡ‚ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π°, Building A Game Network Protocol ΠΎΡ‚ 2016 Π³. ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ с ΠΏΠΎ-стария тСкст.

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

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

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

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

  • yojimbo Π½Π° Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€
  • RakNet, която Π²Π΅Ρ‡Π΅ Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°, Π½ΠΎ нСйният Ρ„ΠΎΡ€ΠΊ SLikeNet ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° всС ΠΎΡ‰Π΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½.
  • ENet β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, създадСна Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΊΠΈ FPS Cube
  • GameNetworkingSockets Π½Π° компанията Valve

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

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

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

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

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

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

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°Π·ΠΈ част Π²ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Introduction to Multiplayer Game Programming Π½Π° Π‘Ρ€Π°ΠΉΡŠΠ½ Π₯ΡƒΠΊ, Π² която сС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ мноТСство ΠΎΡ‚ Ρ‚Π΅ΠΌΠΈΡ‚Π΅, обсъТдани Ρ‚ΡƒΠΊ.

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

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

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

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

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

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

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

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

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

  • FlatBuffers Π½Π° компанията Google
  • Cap’n Proto Π½Π° компанията Sandstorm
  • cereal Π½Π° Π¨Π΅ΠΉΠ½ Π“Ρ€Π°Π½Ρ‚ ΠΈ Π Π°Π½Π΄ΠΎΠ»Ρ„ Вурхис

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

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

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

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅

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

Π‘ΠΈΡ‚ΠΎΠ²Π° ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°

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

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

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

ДискрСтизация

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

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

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

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

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

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

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

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

Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° Π² сСтСвом Π΄Π²ΠΈΠΆΠΊΠ΅ Quake3. Π’ΠΎΡ‚ Π΄Π²Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΡ… способ Π΅Ρ‘ использования:

Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»Π΅Ρ€ ΡΡŠΡ‰ΠΎ използвашС Ρ‚ΠΎΠ²Π° във Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° част Π½Π° своСто изслСдванС Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки.

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

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

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

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

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

Π‘ Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ с прилоТния ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ». Бмятам, Ρ‡Π΅ компрСсията Π΅ напълно Π½Π΅Π½ΡƒΠΆΠ½Π° ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ зависи СдинствСно ΠΎΡ‚ ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°Ρ‚Π° пропускатСлна способност Π½Π° ΠΊΠ°Π½Π°Π»Π°. Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½, ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π΅Ρ‚ΠΎ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ, Π½ΠΎ Π² ΠΏΡŠΡ€Π²ΠΈΡ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΠ±Ρ…ΠΎΠ΄ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ.

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

Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° обновявамС ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС сблъскамС с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със забавянС. Π˜Π³Ρ€Π°Ρ‡ΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ΄Π°Π²Π° Π²Ρ…ΠΎΠ΄, трябва Π΄Π° Ρ‡Π°ΠΊΠ° обновяванС Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π°, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ влияниС Π΅ ΠΎΠΊΠ°Π·Π°Π» Π½Π° свСта.

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

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

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

Всички описани Π² Ρ‚ΠΎΠ·ΠΈ Ρ€Π°Π·Π΄Π΅Π» Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ са ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½ΠΈ Π² сСрията Fast-Paced Multiplayer Π½Π° Π“Π°Π±Ρ€ΠΈΠ΅Π» Π“Π°ΠΌΠ±Π΅Ρ‚Ρ‚Π°. НастоятСлно ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚Π°Π·ΠΈ прСкрасна сСрия статии. Π’ нСя ΠΈΠΌΠ° ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° дСмонстрация, която ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Ρ‚Π΅Π·ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ работят Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°.

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

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

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

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

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π² ΡƒΠΈΠΊΠΈ Π½Π° компания Valve ΠΈΠΌΠ° Π΄Π²Π΅ статии, Source Multiplayer Networking ΠΈ ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° компСнсиранС Π½Π° латСнтността Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ ΠΈ оптимизация Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ Π² ΠΈΠ³Ρ€Π°Ρ‚Π° , Π² ΠΊΠΎΠΈΡ‚ΠΎ сС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π° компСнсацията Π½Π° Π·Π°ΠΊΡŠΡΠ½Π΅Π½ΠΈΡΡ‚Π°.

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

Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π΄Π²Π΅ основни Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° прСдотвратяванС Π½Π° ΠΈΠ·ΠΌΠ°ΠΌΠΈ.

ΠŸΡŠΡ€Π²ΠΎ: услоТняванСто Π½Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΎΡ‚ ΠΈΠ³Ρ€Π°Ρ‡ΠΈ. ΠšΠ°ΠΊΡ‚ΠΎ Π²Π΅Ρ‡Π΅ бСшС спомСнато, Π΄ΠΎΠ±ΡŠΡ€ Π½Π°Ρ‡ΠΈΠ½ Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π΅ ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ.

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

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

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

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

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

  • Π‘Π»ΠΎΠ³ Π½Π° Π“Π»Π΅Π½ Π€ΠΈΠ΄Π»ΡŠΡ€ β€” струва си Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ цСлия ΠΌΡƒ Π±Π»ΠΎΠ³, Π² Π½Π΅Π³ΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΈ статии. Π’ΡƒΠΊ ΡΡŠΠ±Ρ€Π°Π½ΠΈ са всички статии ΠΏΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.
  • Awesome Game Networking Π½Π° Π°Π²Ρ‚ΠΎΡ€Π° М. Π€Π°Ρ‚ΠΈΡ… МАР β€” Ρ‚ΠΎΠ²Π° Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ списък със статии ΠΈ Π²ΠΈΠ΄Π΅Π° Π·Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΈ Π΄Π²ΠΈΠΆΠΊΠΈ.
  • Π’ wiki Π½Π° сабрСддита r/gamedev ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster