แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ

แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ
แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒกแƒแƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ•แƒ˜แƒ“แƒ”แƒ แƒ™แƒแƒœแƒคแƒ”แƒ แƒ”แƒœแƒชแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ แƒแƒช แƒจแƒ”แƒ”แƒฎแƒ”แƒ‘แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒ—แƒแƒ›แƒแƒจแƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก? แƒฃแƒ™แƒ•แƒ” แƒ˜แƒงแƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒชแƒ“แƒ”แƒšแƒแƒ‘แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜ (Cloud Gaming), แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Stadia, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒšแƒแƒฎแƒแƒœ แƒ’แƒแƒ›แƒแƒฃแƒจแƒ•แƒ Google-แƒ›แƒ. แƒกแƒขแƒแƒ“แƒ˜แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ WebRTC-แƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒกแƒฎแƒ•แƒ”แƒ‘แƒกแƒแƒช แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒœ WebRTC แƒแƒœแƒแƒšแƒแƒ’แƒ˜แƒฃแƒ แƒแƒ“?

แƒขแƒแƒœแƒฐ แƒœแƒ’แƒฃแƒ”แƒœแƒ›แƒ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ˜แƒขแƒ แƒ’แƒแƒ›แƒแƒ”แƒชแƒแƒ“แƒ แƒ”แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ—แƒแƒ•แƒ˜แƒก แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ–แƒ” CloudRetro. CloudRetro แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Pion-แƒ–แƒ”, แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ WebRTC แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ Go-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ (แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ Pion-แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒฃแƒœแƒ“แƒ˜แƒกแƒ’แƒแƒœ แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒแƒจแƒ˜ แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก). แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ Thanh แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒ›แƒ˜แƒ›แƒแƒฎแƒ˜แƒšแƒ•แƒแƒก แƒ›แƒ˜แƒกแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ–แƒ” แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒก แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ แƒแƒ› แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ แƒ“แƒ แƒ แƒ แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜ แƒฌแƒแƒแƒฌแƒงแƒ“แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก.

Entry

แƒจแƒแƒ แƒจแƒแƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช Google-แƒ›แƒ Stadia แƒ’แƒแƒ›แƒแƒแƒชแƒฎแƒแƒ“แƒ, แƒ’แƒแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒ˜แƒ‘แƒ แƒแƒ–แƒ“แƒ. แƒ˜แƒ“แƒ”แƒ แƒ˜แƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ แƒ˜แƒœแƒแƒ•แƒแƒชแƒ˜แƒฃแƒ แƒ˜แƒ, แƒ แƒแƒ› แƒ’แƒแƒ›แƒฃแƒ“แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒ“แƒ, แƒ แƒแƒ’แƒแƒ  แƒ˜แƒงแƒ แƒ”แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒ—. แƒแƒ› แƒ—แƒ”แƒ›แƒ˜แƒก แƒฃแƒ™แƒ”แƒ— แƒ’แƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ›แƒ แƒ›แƒ˜แƒ‘แƒ˜แƒซแƒ’แƒ แƒจแƒ”แƒ›แƒ”แƒฅแƒ›แƒœแƒ แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒฉแƒ”แƒ›แƒ˜ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ. แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒคแƒแƒœแƒขแƒแƒกแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ˜แƒงแƒ. แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒ˜แƒœแƒ“แƒ แƒ’แƒแƒ’แƒ˜แƒ–แƒ˜แƒแƒ แƒแƒ— แƒฉแƒ”แƒ›แƒก แƒฌแƒ”แƒšแƒ–แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜.

TLDR: แƒ›แƒแƒ™แƒšแƒ” แƒกแƒšแƒแƒ˜แƒ“ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒ—

แƒ แƒแƒขแƒแƒ› แƒแƒ แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜

แƒ›แƒ” แƒ›แƒฏแƒ”แƒ แƒ, แƒ แƒแƒ› Cloud Gaming แƒ›แƒแƒšแƒ” แƒ’แƒแƒฎแƒ“แƒ”แƒ‘แƒ แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒ›แƒ”แƒชแƒœแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒกแƒคแƒ”แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ—แƒแƒแƒ‘แƒ. Cloud gaming แƒแƒ แƒ˜แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก/แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒก แƒ›แƒฌแƒ•แƒ”แƒ แƒ•แƒแƒšแƒ˜. แƒ”แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜ แƒแƒซแƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒก backend-แƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ›แƒ”แƒœแƒขแƒก แƒ“แƒ แƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒก แƒคแƒ แƒแƒœแƒขแƒ”แƒœแƒ“แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒ“แƒ˜แƒกแƒขแƒแƒœแƒชแƒ˜แƒฃแƒ  แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒก แƒฐแƒแƒกแƒขแƒ˜แƒœแƒ’แƒ˜แƒ— แƒ“แƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก/แƒแƒฃแƒ“แƒ˜แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒ—. แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒซแƒ˜แƒ›แƒ” แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒก, แƒแƒกแƒ” แƒ แƒแƒ› แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒแƒฆแƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒแƒ–แƒ”.

Google Stadia แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ˜แƒ—แƒแƒ›แƒแƒจแƒแƒ— AAA แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜ (แƒแƒœแƒฃ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒœแƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ‘แƒแƒกแƒขแƒ”แƒ  แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜) แƒ˜แƒกแƒ”แƒ— แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ–แƒ”, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ YouTube. แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒกแƒฎแƒ•แƒ แƒ›แƒซแƒ˜แƒ›แƒ” แƒแƒคแƒšแƒแƒ˜แƒœ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒแƒœ 2D/3D แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜ แƒ“แƒ แƒ.แƒจ. แƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒแƒ—แƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ“ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” แƒ›แƒ แƒแƒ•แƒแƒš แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒ–แƒ”.

แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ
แƒแƒ› แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜: แƒฌแƒแƒ แƒ›แƒแƒ˜แƒ“แƒ’แƒ˜แƒœแƒ”แƒ—, แƒ—แƒฃ Microsoft Windows 10 แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ Chrome แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ–แƒ”?

แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒแƒ“ แƒ แƒ—แƒฃแƒšแƒ˜แƒ

แƒ—แƒแƒ›แƒแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ˜แƒก แƒ˜แƒจแƒ•แƒ˜แƒแƒ—แƒ˜ แƒกแƒคแƒ”แƒ แƒ, แƒกแƒแƒ“แƒแƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒ˜, แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒแƒ แƒกแƒแƒญแƒ˜แƒ แƒ. แƒ—แƒฃ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒ•แƒแƒฌแƒงแƒ“แƒ”แƒ‘แƒ˜แƒ— 2 แƒฌแƒแƒ›แƒ˜แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒแƒก, แƒ”แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒ. แƒชแƒแƒชแƒฎแƒแƒšแƒ˜ แƒ•แƒ˜แƒ“แƒ”แƒ แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒฉแƒ”แƒ แƒ“แƒ”แƒ‘แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฌแƒแƒ›แƒ˜แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ˜แƒœแƒช แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก แƒ’แƒแƒœแƒ˜แƒ•แƒ แƒฃแƒš แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒแƒก. แƒ—แƒฃแƒ›แƒชแƒ, แƒ—แƒฃ แƒ—แƒแƒ›แƒแƒจแƒ˜ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒฉแƒแƒ›แƒแƒ แƒฉแƒ”แƒ‘แƒ 500 ms-แƒ˜แƒ—, แƒ˜แƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ. แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ˜แƒ–แƒแƒœแƒ˜แƒ แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ˜แƒแƒ— แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒแƒ“ แƒ“แƒแƒ‘แƒแƒš แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒแƒก แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒ”แƒ“แƒ˜แƒแƒก แƒจแƒแƒ แƒ˜แƒก แƒฃแƒคแƒกแƒ™แƒ แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒชแƒ˜แƒ แƒ”. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ•แƒ˜แƒ“แƒ”แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒขแƒ แƒแƒ“แƒ˜แƒชแƒ˜แƒฃแƒšแƒ˜ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒแƒฅ แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ.

แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ
แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜

แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ CloudRetro

แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ” แƒจแƒ”แƒ›แƒ”แƒฅแƒ›แƒœแƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒœแƒ˜แƒ›แƒฃแƒจแƒ˜, แƒ แƒแƒ—แƒ แƒ’แƒแƒ›แƒ”แƒ’แƒ, แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ แƒ—แƒฃ แƒแƒ แƒ แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒ™แƒแƒชแƒ แƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ˜แƒ—. แƒ›แƒ” แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒ” Golang แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒกแƒแƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒšแƒแƒ“, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ”แƒก แƒ˜แƒงแƒ แƒ”แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ•แƒ˜แƒชแƒœแƒแƒ‘แƒ“แƒ˜ แƒ“แƒ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ˜แƒงแƒ แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒแƒ› แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒกแƒฎแƒ•แƒ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒแƒฆแƒ›แƒแƒ•แƒแƒฉแƒ˜แƒœแƒ”. Go แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ แƒ“แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ•แƒ˜แƒ—แƒแƒ แƒ“แƒ”แƒ‘แƒ; แƒแƒ แƒฎแƒ”แƒ‘แƒ˜ Go-แƒจแƒ˜ แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ CloudRetro.io แƒแƒ แƒ˜แƒก แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ แƒ”แƒขแƒ แƒ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒ˜แƒ–แƒแƒœแƒ˜แƒ แƒขแƒ แƒแƒ“แƒ˜แƒชแƒ˜แƒฃแƒš แƒ แƒ”แƒขแƒ แƒ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ™แƒแƒ›แƒคแƒแƒ แƒขแƒฃแƒšแƒ˜ แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒขแƒแƒœแƒ แƒ“แƒ แƒ›แƒฃแƒšแƒขแƒ˜แƒคแƒšแƒ”แƒ˜แƒ”แƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ.
แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ›แƒ”แƒขแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ˜แƒ’แƒแƒ— แƒแƒฅ: https://github.com/giongto35/cloud-game.

CloudRetro แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ

CloudRetro แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ แƒ”แƒขแƒ แƒ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒก แƒซแƒแƒšแƒ˜แƒก แƒ“แƒ”แƒ›แƒแƒœแƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ แƒแƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ.

  • แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒžแƒแƒ แƒขแƒแƒ‘แƒ”แƒšแƒฃแƒ แƒแƒ‘แƒ
    • แƒ›แƒงแƒ˜แƒกแƒ˜แƒ”แƒ แƒ˜ แƒ“แƒแƒ™แƒ•แƒ แƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒกแƒแƒก; แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒแƒœ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ
    • แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒจแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ แƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“

  • แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒกแƒ”แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ›แƒ แƒแƒ•แƒแƒš แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
  • แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒแƒœ แƒ›แƒ˜แƒกแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ:
    • Crowdplay, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ TwitchPlayPokemon, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ”แƒขแƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ แƒ“แƒ แƒฃแƒคแƒ แƒ แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜
    • แƒแƒœแƒšแƒแƒ˜แƒœ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜ แƒแƒคแƒšแƒแƒ˜แƒœ. แƒ‘แƒ”แƒ•แƒ  แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ—แƒแƒ›แƒแƒจแƒ˜ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. Samurai Shodown-แƒก แƒแƒฎแƒšแƒ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ 2 แƒ›แƒแƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ—แƒแƒ›แƒแƒจแƒ˜ CloudRetro แƒฅแƒกแƒ”แƒšแƒจแƒ˜

    แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ
    แƒแƒœแƒšแƒแƒ˜แƒœ แƒ›แƒ แƒแƒ•แƒแƒšแƒ›แƒแƒ—แƒแƒ›แƒแƒจแƒ˜แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ“แƒ”แƒ›แƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ”

    แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก

    แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒ“แƒแƒกแƒขแƒ

    แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒ” แƒ“แƒแƒ•แƒแƒฌแƒ”แƒกแƒ” แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒแƒ›แƒ“แƒ”.

    1. แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒ—แƒแƒ›แƒแƒจแƒ”
    แƒ”แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒฅ แƒแƒ  แƒฉแƒแƒœแƒ“แƒ”แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒแƒœ แƒแƒจแƒ™แƒแƒ แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฉแƒ”แƒ›แƒ˜ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜, แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒ—แƒแƒ›แƒแƒจแƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒจแƒแƒ แƒก แƒ“แƒแƒ แƒฉแƒ”แƒก แƒขแƒ แƒแƒ“แƒ˜แƒชแƒ˜แƒฃแƒšแƒ˜ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ. แƒ—แƒฃ แƒฉแƒ•แƒ”แƒœ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒแƒก แƒ’แƒแƒ•แƒแƒ›แƒแƒฎแƒ•แƒ˜แƒšแƒ”แƒ‘แƒ— แƒ”แƒ แƒ—แƒ›แƒแƒ—แƒแƒ›แƒแƒจแƒ˜แƒแƒœ แƒ—แƒแƒ›แƒแƒจแƒ–แƒ”, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒแƒ•แƒ˜แƒจแƒแƒ แƒแƒ— แƒชแƒ”แƒœแƒขแƒ แƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒแƒœ CDN, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ  แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒ˜ แƒ›แƒแƒกแƒ”แƒ‘แƒจแƒ˜. แƒ˜แƒ›แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ แƒแƒ› แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜ sink แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒแƒœ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒ— แƒชแƒ”แƒœแƒขแƒ แƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒš WebSocket แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก Peer-to-peer WebRTC แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.

    2. แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒ“แƒ˜แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜
    Stadia-แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ แƒแƒ› แƒ•แƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒแƒ‘, แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ•แƒฎแƒ”แƒ“แƒแƒ• แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ”แƒ‘แƒฃแƒš WebRTC-แƒก. แƒ›แƒ˜แƒ•แƒฎแƒ•แƒ“แƒ˜, แƒ แƒแƒ› WebRTC แƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒฉแƒ”แƒฃแƒšแƒ˜ แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ แƒ“แƒ แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“. WebRTC แƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ•แƒ”แƒ‘ แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ  แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒก แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜ แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ API-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—. แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก peer-to-peer แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒก, แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒ”แƒ“แƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒฅแƒ•แƒก แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ™แƒแƒ“แƒ”แƒ™แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ VP8 แƒ“แƒ H264.

    แƒ›แƒ” แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ แƒ›แƒ˜แƒแƒœแƒ˜แƒญแƒ” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒแƒก, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜แƒก แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒแƒก. แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒจแƒ˜ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ“แƒแƒœแƒแƒ™แƒแƒ แƒ’แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒ. Google Stadia-แƒก แƒแƒฅแƒ•แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ–แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—, แƒฎแƒแƒšแƒ แƒฉแƒแƒ แƒฉแƒแƒ”แƒ‘แƒ˜ แƒฃแƒคแƒ แƒ แƒ›แƒแƒฆแƒแƒš แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ–แƒ” แƒ’แƒแƒ“แƒแƒ˜แƒชแƒ”แƒ›แƒ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ–แƒ” แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒแƒ›แƒ“แƒ”.

    3. แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ’แƒ”แƒแƒ’แƒ แƒแƒคแƒ˜แƒฃแƒšแƒ˜ แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ—
    แƒแƒ  แƒแƒฅแƒ•แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ˜แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜ แƒ“แƒ แƒ™แƒแƒ“แƒ˜, แƒฅแƒกแƒ”แƒšแƒ˜ แƒ›แƒแƒ˜แƒœแƒช แƒแƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ›แƒฌแƒงแƒ•แƒ”แƒขแƒ˜ แƒคแƒแƒฅแƒขแƒแƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒ”แƒขแƒแƒ“ แƒฃแƒฌแƒงแƒแƒ‘แƒก แƒฎแƒ”แƒšแƒก แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒแƒก. แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒแƒก แƒฃแƒœแƒ“แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ—แƒแƒœ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒแƒฎแƒšแƒแƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜, แƒ แƒแƒ—แƒ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ”แƒก แƒแƒ แƒ›แƒฎแƒ แƒ˜แƒ•แƒ˜ แƒ“แƒ แƒ (RTT). แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒแƒก แƒฃแƒœแƒ“แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก 1 แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒแƒ แƒ˜ แƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒœแƒแƒ™แƒแƒ“แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒ—แƒ”แƒš แƒ›แƒกแƒแƒคแƒšแƒ˜แƒแƒจแƒ˜: แƒแƒจแƒจ แƒ“แƒแƒกแƒแƒ•แƒšแƒ”แƒ—แƒ˜, แƒแƒจแƒจ แƒแƒฆแƒ›แƒแƒกแƒแƒ•แƒšแƒ”แƒ—แƒ˜, แƒ”แƒ•แƒ แƒแƒžแƒ, แƒกแƒ˜แƒœแƒ’แƒแƒžแƒฃแƒ แƒ˜, แƒฉแƒ˜แƒœแƒ”แƒ—แƒ˜. แƒงแƒ•แƒ”แƒšแƒ แƒœแƒแƒ™แƒแƒ“แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ˜แƒ–แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒก แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒฃแƒ”แƒ แƒ—แƒ“แƒ”แƒ‘แƒ แƒแƒœ แƒขแƒแƒ•แƒ”แƒ‘แƒก แƒฅแƒกแƒ”แƒšแƒก. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ“แƒ˜แƒ“แƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒ—, แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒ.

    4. แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒก แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ
    แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒแƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ. แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒจแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ. แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒฎแƒ”แƒšแƒก แƒฃแƒฌแƒงแƒแƒ‘แƒ”แƒœ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ™แƒแƒ›แƒคแƒแƒ แƒขแƒฃแƒšแƒก แƒ’แƒแƒฎแƒแƒ“แƒแƒœ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ, แƒ แƒแƒช แƒ›แƒแƒ— แƒ˜แƒชแƒแƒ•แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒกแƒ แƒ“แƒ แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ’แƒแƒœ. แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒฎแƒ”แƒšแƒก แƒฃแƒฌแƒงแƒแƒ‘แƒ”แƒœ แƒ›แƒ แƒแƒ•แƒแƒš แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ  แƒ“แƒ แƒ“แƒ”แƒกแƒ™แƒขแƒแƒž แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก. แƒกแƒแƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒแƒ“, WebRTC แƒ™แƒแƒ แƒ’แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒจแƒ˜.

    5. แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒกแƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒœแƒแƒ—แƒ”แƒšแƒ˜ แƒ’แƒแƒ›แƒ˜แƒฏแƒ•แƒœแƒ
    แƒ›แƒ” แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ‘ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒก. แƒงแƒ•แƒ”แƒšแƒแƒก แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ”แƒซแƒšแƒแƒก แƒ แƒแƒ˜แƒ›แƒ”แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒกแƒ—แƒแƒœ. แƒแƒฎแƒšแƒ แƒ’แƒแƒ•แƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ“แƒ˜ LibRetro แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒ—, แƒ แƒแƒ“แƒ’แƒแƒœ LibRetro แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒฃแƒšแƒแƒ›แƒแƒ–แƒ”แƒกแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒก แƒ แƒ”แƒขแƒ แƒ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ SNES, GBA, PS.

    6. แƒแƒ—แƒแƒฎแƒ”แƒ‘แƒ˜ แƒ›แƒฃแƒšแƒขแƒ˜แƒ›แƒแƒ—แƒแƒ›แƒแƒจแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ‘แƒ แƒ‘แƒแƒก แƒ—แƒแƒ›แƒแƒจแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒ—แƒแƒ›แƒแƒจแƒ—แƒแƒœ แƒ’แƒแƒ แƒ” แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (deep-link).
    CloudRetro แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก แƒ‘แƒ”แƒ•แƒ  แƒแƒฎแƒแƒš แƒ—แƒแƒ›แƒแƒจแƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ CrowdPlay แƒ“แƒ Online MultiPlayer แƒ แƒ”แƒขแƒ แƒ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒก แƒ”แƒ แƒ—แƒกแƒ แƒ“แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒฆแƒ แƒ›แƒ แƒ‘แƒ›แƒฃแƒšแƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ–แƒ”, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒแƒ˜แƒœแƒแƒฎแƒแƒ•แƒ”แƒœ แƒ”แƒ แƒ—แƒกแƒ แƒ“แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒ—แƒแƒ›แƒแƒจแƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒก แƒ“แƒ แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒ”แƒœ แƒ›แƒแƒกแƒจแƒ˜ แƒจแƒ”แƒ”แƒ แƒ—แƒ”แƒ‘แƒแƒก.

    แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒกแƒแƒชแƒแƒ•แƒจแƒ˜. แƒ”แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒแƒœ แƒ—แƒแƒ›แƒแƒจแƒ˜ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒกแƒฎแƒ•แƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”.

    7. แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ
    แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒฆแƒ”แƒกแƒ“แƒฆแƒ”แƒแƒ‘แƒ˜แƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ SAAS, แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜. แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒแƒ แƒ˜-แƒ›แƒฃแƒจแƒแƒ™แƒ˜แƒก แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— แƒ›แƒ”แƒขแƒ˜ แƒ›แƒฃแƒจแƒ แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒข แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก.

    8. แƒแƒ  แƒแƒ แƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒ”แƒ แƒ— แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒ—แƒแƒœ
    CloudRetro-แƒก แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒšแƒแƒ‘แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ”แƒ‘แƒ–แƒ” (Digital Ocean, Alibaba, แƒกแƒแƒ‘แƒแƒŸแƒ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ˜) แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ แƒ”แƒ’แƒ˜แƒแƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒ” แƒ•แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘ Docker แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒ•แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒก bash แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ—แƒ แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒ•แƒ˜แƒชแƒ˜แƒšแƒแƒ— แƒฉแƒแƒ™แƒ”แƒขแƒ•แƒ แƒ”แƒ แƒ— แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒจแƒ˜. แƒแƒ›แƒ˜แƒก แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒ˜แƒ— NAT Traversal-แƒ—แƒแƒœ WebRTC-แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒ•แƒฅแƒแƒœแƒ“แƒ”แƒก แƒ›แƒแƒฅแƒœแƒ˜แƒšแƒแƒ‘แƒ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— CloudRetro แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒ–แƒ” แƒ“แƒ แƒ—แƒฃแƒœแƒ“แƒแƒช แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ–แƒ”.

    แฒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜

    แƒ—แƒแƒœแƒแƒ›แƒจแƒ แƒแƒ›แƒ”แƒšแƒ˜: (แƒแƒœ แƒ–แƒ”แƒ›แƒแƒ— แƒœแƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜) แƒแƒ›แƒ แƒแƒ•แƒšแƒ”แƒ‘แƒก แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒก, แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒก แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒšแƒกแƒแƒ“แƒ”แƒœแƒก แƒ“แƒ แƒแƒฌแƒ•แƒ“แƒ˜แƒก แƒ“แƒแƒจแƒ˜แƒคแƒ แƒฃแƒš แƒ›แƒ”แƒ“แƒ˜แƒแƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก. แƒ›แƒฃแƒจแƒแƒ—แƒ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ“แƒ”แƒ‘แƒ แƒ›แƒ—แƒ”แƒš แƒ›แƒกแƒแƒคแƒšแƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ›แƒฃแƒจแƒแƒ™แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ’แƒแƒฃแƒ›แƒ™แƒšแƒแƒ•แƒ“แƒ”แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒš แƒกแƒ”แƒกแƒ˜แƒแƒก.

    แฒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒแƒ แƒ˜: แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒแƒ–แƒ” แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒ™แƒ—แƒแƒœ. แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒแƒ แƒ˜ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ›แƒฃแƒจแƒ”แƒ‘แƒ—แƒแƒœ WebSocket-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.

    แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ: แƒชแƒ”แƒœแƒขแƒ แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ˜แƒกแƒขแƒแƒœแƒชแƒ˜แƒฃแƒ แƒ˜ แƒกแƒแƒชแƒแƒ•แƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ”แƒก แƒกแƒแƒชแƒแƒ•แƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ“แƒ˜แƒกแƒขแƒแƒœแƒชแƒ˜แƒฃแƒ แƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ/แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ.

    แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ
    CloudRetro-แƒก แƒฃแƒ›แƒแƒฆแƒšแƒ”แƒกแƒ˜ แƒ“แƒแƒœแƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ

    แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜

    แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒฎแƒกแƒœแƒ˜แƒก CloudRetro-แƒก 1 แƒ“แƒ 2 แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒคแƒ˜แƒ’แƒฃแƒ แƒแƒจแƒ˜, แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒแƒ แƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ›แƒฃแƒจแƒแƒ™แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒ˜แƒ—แƒฎแƒแƒ•แƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ”. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒ”-3 แƒกแƒแƒคแƒ”แƒฎแƒฃแƒ แƒ–แƒ” แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒ˜แƒ—แƒ•แƒšแƒ˜แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒœแƒ“แƒ˜แƒ“แƒแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก HTTP แƒžแƒ˜แƒœแƒ’ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ”แƒก แƒกแƒ˜แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ‘แƒ แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒแƒ แƒก, แƒ แƒแƒ—แƒ แƒ›แƒแƒœ แƒ“แƒแƒแƒ“แƒ’แƒ˜แƒœแƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒ›แƒฃแƒจแƒแƒ™แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ 4 แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒฅแƒ›แƒœแƒ˜แƒก แƒ—แƒแƒ›แƒแƒจแƒก. แƒ“แƒแƒ›แƒงแƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ WebRTC แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒกแƒ แƒ“แƒ แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒฃแƒš แƒ›แƒฃแƒจแƒแƒ™แƒก แƒจแƒแƒ แƒ˜แƒก.
    แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ
    แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’

    แƒ แƒ แƒแƒ แƒ˜แƒก แƒ›แƒฃแƒจแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—

    แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ“แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒ˜แƒšแƒกแƒแƒ“แƒ”แƒœแƒ”แƒ‘แƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ›แƒฃแƒจแƒแƒ™แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒ˜แƒ–แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒแƒ“ แƒ“แƒ แƒ˜แƒฅ แƒชแƒ•แƒšแƒ˜แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—. แƒแƒ›แƒŸแƒแƒ›แƒแƒ“, แƒ”แƒก แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒ’แƒ–แƒ˜แƒ— แƒ’แƒแƒšแƒแƒœแƒ’แƒ˜แƒก แƒแƒ แƒฎแƒ”แƒ‘แƒ˜ แƒ˜แƒ›แƒแƒ•แƒ” แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ›แƒ˜แƒ–แƒแƒœแƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒ”แƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ, แƒ”.แƒ˜. แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜.

    แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ
    แƒ›แƒฃแƒจแƒ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ

    แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜:

    • WebRTC: แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒแƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒแƒฅแƒ•แƒก แƒ“แƒแƒจแƒ˜แƒคแƒ แƒฃแƒšแƒ˜ แƒ›แƒ”แƒ“แƒ˜แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ“แƒแƒœ.
    • แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜: แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜. Libretro แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ—, แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒ“แƒ แƒจแƒ˜แƒ’แƒœแƒ˜แƒ“แƒแƒœ แƒฉแƒแƒญแƒ แƒแƒก แƒ›แƒ”แƒ“แƒ˜แƒ แƒ“แƒ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒ˜.
    • แƒ—แƒแƒ›แƒแƒจแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒคแƒ แƒ”แƒ˜แƒ›แƒ”แƒ‘แƒ˜ แƒแƒฆแƒ˜แƒ แƒ˜แƒชแƒฎแƒ”แƒ‘แƒ แƒ“แƒ แƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒ”แƒœแƒ™แƒแƒ“แƒ”แƒ แƒจแƒ˜.
    • แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก/แƒแƒฃแƒ“แƒ˜แƒ แƒจแƒ˜แƒคแƒ แƒแƒขแƒแƒ แƒ˜: แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒšแƒกแƒแƒ“แƒ”แƒœแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ›แƒ”แƒ“แƒ˜แƒ แƒฉแƒแƒ แƒฉแƒแƒ”แƒ‘แƒก, แƒ“แƒแƒจแƒ˜แƒคแƒ•แƒ แƒแƒ•แƒก แƒ›แƒแƒ— แƒคแƒแƒœแƒ–แƒ” แƒ“แƒ แƒ’แƒแƒ›แƒแƒแƒฅแƒ•แƒก แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜/แƒแƒฃแƒ“แƒ˜แƒ.

    ะ ะตะฐะปะธะทะฐั†ะธั

    CloudRetro แƒ”แƒงแƒ แƒ“แƒœแƒแƒ‘แƒ WebRTC-แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ˜แƒก แƒฎแƒ”แƒ แƒฎแƒ”แƒ›แƒแƒš แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒแƒก, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒกแƒแƒœแƒแƒ› Golang-แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒก แƒฉแƒแƒ•แƒฃแƒฆแƒ แƒ›แƒแƒ•แƒ“แƒ˜, แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ” แƒ›แƒ”แƒกแƒแƒฃแƒ‘แƒ แƒ แƒ—แƒแƒ•แƒแƒ“ WebRTC-แƒ–แƒ”. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒกแƒแƒแƒชแƒแƒ แƒ˜ แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒ˜แƒ“แƒแƒ“ แƒ“แƒแƒ›แƒ”แƒฎแƒ›แƒแƒ แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฅแƒ•แƒ”แƒ›แƒ”แƒแƒ แƒ” แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒฌแƒ”แƒ•แƒแƒจแƒ˜.

    WebRTC

    WebRTC แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒก แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜แƒก peer-to-peer แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜ แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ  แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ  แƒแƒžแƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ”แƒ‘แƒ–แƒ” แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ API-แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

    NAT Traversal

    WebRTC แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜แƒ แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ NAT Traversal แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—. WebRTC แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒ˜แƒ–แƒแƒœแƒ˜แƒ แƒ˜แƒžแƒแƒ•แƒแƒ— แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ แƒ˜ แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜, แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒ˜แƒชแƒ˜แƒšแƒแƒก NAT แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ”แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒคแƒ”แƒ˜แƒ”แƒ แƒ•แƒแƒšแƒ”แƒ‘แƒ˜ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ—แƒแƒœ แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ”.แƒฌ. ICE. แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ› แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜, WebRTC API แƒžแƒแƒฃแƒšแƒแƒ‘แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒกแƒแƒฏแƒแƒ แƒ IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒก STUN แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒ›แƒแƒก แƒกแƒแƒ แƒ”แƒšแƒ”แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” (แฒ›แฒแฒ‘แฒ แฒฃแฒœแฒ”แฒ‘แฒ) แƒ แƒแƒชแƒ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ แƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ“แƒแƒ›แƒงแƒแƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ.

    แƒ—แƒฃแƒ›แƒชแƒ, CloudRetro แƒกแƒ แƒฃแƒšแƒแƒ“ แƒแƒ  แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก. แƒ›แƒ˜แƒกแƒ˜ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก. แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ”แƒก แƒแƒฅแƒ•แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ แƒ˜ แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜, แƒ•แƒ˜แƒ“แƒ แƒ” แƒขแƒ˜แƒžแƒ˜แƒฃแƒ แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ. แƒ”แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ’แƒแƒฎแƒกแƒœแƒแƒ— แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜ แƒแƒœ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒกแƒแƒฏแƒแƒ แƒ IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ , แƒ แƒแƒ“แƒ’แƒแƒœ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒแƒ  แƒ“แƒ’แƒแƒก NAT-แƒ˜แƒก แƒฃแƒ™แƒแƒœ.

    แƒแƒ“แƒ แƒ” แƒ›แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒ’แƒแƒ“แƒแƒ›แƒ”แƒฅแƒชแƒ˜แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ Cloud Gaming-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒ“. แƒ˜แƒ“แƒ”แƒ แƒ˜แƒงแƒ แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒ˜แƒ”แƒชแƒ”แƒ— แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒœแƒแƒ— แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜. แƒ“แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒœแƒ”แƒœ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ”แƒ‘แƒก. แƒแƒ› แƒ“แƒ”แƒชแƒ”แƒœแƒขแƒ แƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒ–แƒ˜แƒ—, CloudRetro แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฉแƒแƒ แƒฉแƒ แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“, แƒ แƒแƒช แƒ›แƒแƒก แƒฃแƒคแƒ แƒ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒฃแƒ แƒก แƒฎแƒ“แƒ˜แƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ˜แƒก แƒแƒฆแƒแƒ  แƒแƒ แƒ˜แƒก แƒฐแƒแƒกแƒขแƒ˜แƒœแƒ’แƒ˜. WebRTC NAT Traversal-แƒ˜แƒก แƒ แƒแƒšแƒ˜ แƒแƒฅ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ, แƒ แƒแƒ—แƒ แƒฎแƒ”แƒšแƒ˜ แƒจแƒ”แƒฃแƒฌแƒงแƒแƒก แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ—แƒแƒœ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒช แƒ’แƒแƒฃแƒแƒ“แƒ•แƒ˜แƒšแƒ”แƒ‘แƒก แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒก แƒฅแƒกแƒ”แƒšแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒแƒก.

    แƒ•แƒ˜แƒ“แƒ”แƒ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ

    แƒ•แƒ˜แƒ“แƒ”แƒ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒšแƒกแƒแƒ“แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒฃแƒชแƒ•แƒšแƒ”แƒšแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒ“แƒ แƒ“แƒ˜แƒ“แƒแƒ“ แƒฃแƒฌแƒงแƒแƒ‘แƒก แƒฎแƒ”แƒšแƒก แƒ’แƒšแƒฃแƒ• แƒœแƒแƒ™แƒแƒ“แƒก. แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ VP8/H264 แƒ•แƒ˜แƒ“แƒ”แƒ แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒ”แƒขแƒแƒšแƒ˜แƒก แƒชแƒแƒ“แƒœแƒ, แƒชแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ’แƒ”แƒ‘แƒ แƒ“แƒแƒ’แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ— แƒ’แƒแƒ”แƒชแƒœแƒแƒ— แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ•แƒ˜แƒ“แƒ”แƒแƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒก, แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ— แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒ˜ แƒฅแƒชแƒ”แƒ•แƒ แƒ“แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ.

    แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ•แƒ˜แƒ“แƒ”แƒแƒก แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ แƒ แƒ—แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ›แƒ แƒฃแƒœแƒ“แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒก, แƒ แƒแƒ› แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒ˜ แƒ“แƒ แƒ + แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒ“แƒ แƒ + แƒ“แƒ”แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ˜แƒงแƒแƒก. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜ แƒ“แƒ แƒฃแƒฌแƒงแƒ•แƒ”แƒขแƒ˜. แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒ”แƒขแƒ”แƒœแƒชแƒ˜แƒ แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ - แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ แƒ›แƒ˜แƒแƒœแƒ˜แƒญแƒแƒ— แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ• แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ›แƒชแƒ˜แƒ แƒ” แƒ–แƒแƒ›แƒ˜แƒกแƒ แƒ“แƒ แƒ“แƒ”แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒแƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒแƒ แƒแƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ.

    แƒ•แƒ˜แƒ“แƒ”แƒ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ˜แƒก แƒ˜แƒ“แƒ”แƒ แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ แƒแƒกแƒแƒญแƒ˜แƒ แƒ แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒก แƒแƒฆแƒ›แƒแƒคแƒฎแƒ•แƒ แƒ, แƒฎแƒแƒšแƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ“แƒแƒœแƒ˜แƒก แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒ. แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒฉแƒแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ, แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜ แƒแƒ“แƒ’แƒ”แƒœแƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ™แƒแƒ“แƒ แƒ”แƒ‘แƒก แƒฌแƒ˜แƒœแƒ แƒ“แƒ แƒ›แƒแƒ›แƒ“แƒ”แƒ•แƒœแƒ แƒฉแƒแƒ แƒฉแƒแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒแƒกแƒ” แƒ แƒแƒ› แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒ—แƒ˜ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ. แƒ แƒแƒ’แƒแƒ แƒช Pacman-แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ“แƒแƒœ แƒฉแƒแƒœแƒก, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒ˜แƒคแƒ”แƒ แƒ”แƒœแƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ“แƒแƒ˜แƒชแƒ”แƒ›แƒ.

    แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ
    แƒ•แƒ˜แƒ“แƒ”แƒ แƒฉแƒแƒ แƒฉแƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ Pacman-แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

    แƒแƒฃแƒ“แƒ˜แƒ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ

    แƒแƒœแƒแƒšแƒแƒ’แƒ˜แƒฃแƒ แƒแƒ“, แƒแƒฃแƒ“แƒ˜แƒ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ˜แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜ แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒ”แƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ•แƒ”แƒ  แƒแƒฆแƒ˜แƒฅแƒ•แƒแƒ›แƒก แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ”แƒ‘แƒก. Opus แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒฃแƒ“แƒ˜แƒ แƒ™แƒแƒ“แƒ”แƒ™แƒ˜แƒ. แƒ˜แƒ’แƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ แƒแƒฃแƒ“แƒ˜แƒ แƒขแƒแƒšแƒฆแƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒชแƒ”แƒ›แƒแƒ“ แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒšแƒ˜ แƒ“แƒแƒขแƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ RTP (Real Time Transport Protocol). แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ แƒฃแƒคแƒ แƒ แƒ“แƒแƒ‘แƒแƒšแƒ˜แƒ แƒ•แƒ˜แƒ“แƒ แƒ” mp3 แƒ“แƒ aac, แƒฎแƒแƒšแƒ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜ แƒฃแƒคแƒ แƒ แƒ›แƒแƒฆแƒแƒšแƒ˜แƒ. แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒแƒ แƒ˜แƒก แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 5-66,5ms.

    Pion, WebRTC แƒ’แƒแƒšแƒแƒœแƒ’แƒจแƒ˜

    แƒžแƒ˜แƒแƒœแƒ˜ แƒแƒ แƒ˜แƒก แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช WebRTC-แƒก Golang-แƒจแƒ˜ แƒ›แƒแƒแƒฅแƒ•แƒก. แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜ C++ WebRTC แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒ˜แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒจแƒ”แƒคแƒฃแƒ—แƒ•แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, Pion แƒแƒ แƒ˜แƒก WebRTC-แƒ˜แƒก แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜ Golang แƒ˜แƒ›แƒžแƒšแƒ”แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ—, Go แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒ— แƒ“แƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜แƒ— WebRTC แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ”แƒ‘แƒ–แƒ”.

    แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒแƒกแƒ”แƒ•แƒ” แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒ•แƒ”แƒœแƒขแƒแƒ แƒ˜แƒ— แƒฅแƒ•แƒ”แƒ›แƒ”แƒแƒ แƒ” แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒก แƒแƒฅแƒ•แƒก STUN, DTLS, SCTP แƒ“แƒ แƒ.แƒจ. แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ˜แƒ›แƒžแƒšแƒ”แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ. แƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒ˜ QUIC-แƒ˜แƒ— แƒ“แƒ WebAssembly-แƒ˜แƒ—. แƒ”แƒก แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“ แƒ›แƒแƒ แƒ—แƒšแƒแƒช แƒ™แƒแƒ แƒ’แƒ˜ แƒกแƒแƒกแƒฌแƒแƒ•แƒšแƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒ แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒ—, แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ˜แƒ— แƒ“แƒ แƒ›แƒแƒ’แƒแƒ แƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ—.

    Pion แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒ‘แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ•แƒœแƒ”แƒ‘แƒ˜แƒแƒœแƒ˜ แƒจแƒ”แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ˜, แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒชแƒแƒชแƒฎแƒแƒšแƒ˜แƒ, แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜แƒแƒœแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒแƒ‘แƒก WebRTC-แƒ–แƒ”. แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ“แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฎแƒแƒ แƒ— แƒแƒ› แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒ—, แƒจแƒ”แƒ›แƒแƒ’แƒ•แƒ˜แƒ”แƒ แƒ—แƒ“แƒ˜แƒ— http://pion.ly/slack - แƒ‘แƒ”แƒ•แƒ  แƒแƒฎแƒแƒšแƒก แƒ’แƒแƒ˜แƒ’แƒ”แƒ‘แƒ—.

    CloudRetro-แƒก แƒฌแƒ”แƒ แƒ Golang-แƒจแƒ˜

    แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ
    แƒ›แƒฃแƒจแƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ แƒ’แƒ-แƒจแƒ˜

    แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— แƒแƒ แƒฎแƒ”แƒ‘แƒ–แƒ” แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒแƒจแƒ˜

    Go-แƒก แƒšแƒแƒ›แƒแƒ–แƒ˜ แƒแƒ แƒฎแƒ˜แƒก แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ—, แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒ˜แƒกแƒ แƒ“แƒ แƒ™แƒแƒœแƒ™แƒฃแƒ แƒ”แƒœแƒขแƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒ’แƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ. แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒจแƒ˜, แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ GoRoutine-แƒก แƒแƒฅแƒ•แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜ แƒ›แƒแƒ แƒ—แƒแƒ•แƒก แƒ—แƒแƒ•แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก แƒ“แƒ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒก แƒแƒ แƒฎแƒ”แƒ‘แƒ˜แƒ—. แƒ’แƒแƒšแƒแƒœแƒ’แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒ แƒแƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒก แƒ”แƒ แƒ—แƒ˜ แƒแƒขแƒแƒ›แƒฃแƒ แƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒก แƒงแƒแƒ•แƒ”แƒš แƒฏแƒ”แƒ แƒ–แƒ” แƒ—แƒแƒ›แƒแƒจแƒจแƒ˜ (แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒขแƒ˜แƒ™แƒ˜). แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒแƒ› แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒแƒ™แƒ”แƒขแƒ•แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก, โ€‹โ€‹แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜. แƒ”แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ แƒฉแƒ”แƒก แƒฃแƒฌแƒงแƒ•แƒ”แƒขแƒ˜, แƒจแƒ”แƒ“แƒ˜แƒ— แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ›แƒ“แƒ”. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒขแƒ˜แƒ™แƒ˜แƒก แƒ“แƒ แƒแƒก, backend-แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ’แƒแƒฃแƒ›แƒ™แƒšแƒแƒ•แƒ“แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒแƒœ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒแƒก, แƒ แƒแƒช แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒซแƒแƒคแƒก แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒก แƒฎแƒ“แƒ˜แƒก.

    func (e *gameEmulator) gameUpdate() {
    for {
    	select {
    		case <-e.saveOperation:
    			e.saveGameState()
    		case key := <-e.input:
    			e.updateGameState(key)
    		case <-e.done:
    			e.close()
    			return
    	}
        }
    }

    แƒ’แƒฃแƒšแƒจแƒ”แƒ›แƒแƒขแƒ™แƒ˜แƒ•แƒแƒ แƒ—แƒ แƒจแƒ”แƒ›แƒแƒกแƒ•แƒšแƒ/Fan-out

    แƒ”แƒก Golang แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜ แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒ”แƒ แƒ’แƒ”แƒ‘แƒ แƒฉแƒ”แƒ›แƒก CrowdPlay-แƒก แƒ“แƒ Multiple Player-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก. แƒแƒ› แƒœแƒ˜แƒ›แƒฃแƒจแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ”แƒ แƒ— แƒแƒ—แƒแƒฎแƒจแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒชแƒ”แƒœแƒขแƒ แƒแƒšแƒฃแƒ  แƒจแƒ”แƒกแƒแƒกแƒ•แƒšแƒ”แƒš แƒแƒ แƒฎแƒจแƒ˜. แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ›แƒ”แƒ“แƒ˜แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒ›แƒแƒ•แƒ” แƒแƒ—แƒแƒฎแƒจแƒ˜. แƒแƒ› แƒ’แƒ–แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ”แƒ•แƒ— แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒงแƒแƒคแƒแƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒกแƒ”แƒกแƒ˜แƒแƒก แƒจแƒแƒ แƒ˜แƒก.

    แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ˜ WebRTC-แƒ–แƒ”: p2p, แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒ”แƒ แƒ˜, แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ
    แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒ”แƒกแƒ˜แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก

    แƒ’แƒแƒšแƒแƒœแƒ’แƒ˜แƒก แƒœแƒแƒ™แƒšแƒแƒ•แƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜

    แƒ’แƒแƒšแƒแƒœแƒ’แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒงแƒแƒคแƒ˜แƒšแƒ˜. แƒแƒ แƒฎแƒ˜ แƒœแƒ”แƒšแƒ˜แƒ. แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒแƒกแƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—, Go แƒแƒ แƒฎแƒ˜ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒฃแƒคแƒ แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ’แƒ–แƒแƒ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒ˜ แƒ“แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒแƒœแƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒแƒ“, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒฎแƒ˜ แƒแƒ  แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก. แƒแƒ แƒฎแƒ˜แƒก แƒฅแƒ•แƒ”แƒจ แƒแƒ แƒ˜แƒก แƒ แƒ—แƒฃแƒšแƒ˜ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ. แƒแƒกแƒ” แƒ แƒแƒ›, แƒ›แƒ” แƒจแƒ”แƒ•แƒ˜แƒขแƒแƒœแƒ” แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒ แƒ”แƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒแƒจแƒ˜, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ” แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒแƒขแƒแƒ›แƒฃแƒ แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒแƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ•แƒšแƒ˜แƒกแƒแƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—.

    แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ’แƒแƒšแƒแƒœแƒ’แƒจแƒ˜ แƒœแƒแƒ’แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒฃแƒ›แƒแƒ แƒ—แƒแƒ•แƒ˜แƒ, แƒ แƒแƒช แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒกแƒแƒ”แƒญแƒ•แƒแƒ“ แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ• แƒžแƒแƒฃแƒ–แƒ”แƒ‘แƒก แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก. แƒ”แƒก แƒ“แƒ˜แƒ“แƒแƒ“ แƒ”แƒ แƒ”แƒ•แƒ แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜.

    COG

    แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก Golang VP8/H264 แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒแƒก แƒ›แƒ”แƒ“แƒ˜แƒ˜แƒก แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ Libretro-แƒก แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒงแƒ•แƒ”แƒšแƒ แƒ”แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒ แƒ˜แƒก C แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒจแƒ”แƒคแƒฃแƒ—แƒ•แƒ Go-แƒจแƒ˜ COG. แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒฃแƒแƒ แƒงแƒแƒคแƒ˜แƒ—แƒ˜ แƒ›แƒฎแƒแƒ แƒ” แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜แƒ แƒ“แƒ”แƒ˜แƒ• แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒ”แƒก แƒžแƒแƒกแƒขแƒ˜. แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒ›แƒฎแƒ•แƒ“แƒ:

    • CGO-แƒจแƒ˜ แƒแƒ•แƒแƒ แƒ˜แƒ˜แƒก แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ, แƒ—แƒฃแƒœแƒ“แƒแƒช Golang RecoveryCrash-แƒ˜แƒ—;
    • แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒฃแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒ•แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ— CGO-แƒจแƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒ›แƒแƒฉแƒ”แƒœแƒแƒก.

    แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

    แƒ›แƒ” แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ˜แƒ” แƒฉแƒ”แƒ›แƒก แƒ›แƒ˜แƒ–แƒแƒœแƒก, แƒ’แƒแƒ›แƒ”แƒ’แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒฉแƒ”แƒ›แƒก แƒ›แƒ”แƒ’แƒแƒ‘แƒ แƒ”แƒ‘แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒœแƒแƒกแƒขแƒแƒšแƒ’แƒ˜แƒฃแƒ แƒ˜ แƒ แƒ”แƒขแƒ แƒ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒšแƒแƒ˜แƒœ แƒ—แƒแƒ›แƒแƒจแƒ˜. แƒ”แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒžแƒ˜แƒแƒœแƒ˜แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒกแƒ แƒ“แƒ แƒžแƒ˜แƒแƒœแƒ˜แƒก แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ”แƒšแƒ˜ แƒ•แƒแƒ  แƒ›แƒ˜แƒกแƒ˜ แƒ˜แƒœแƒขแƒ”แƒœแƒกแƒ˜แƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. WebRTC-แƒ˜แƒกแƒ แƒ“แƒ Pion-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ API-แƒ”แƒ‘แƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ”แƒœ แƒฃแƒฌแƒงแƒ•แƒ”แƒข แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒแƒก. แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒ˜แƒก แƒฉแƒ”แƒ›แƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ“แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒ™แƒ•แƒ˜แƒ แƒแƒจแƒ˜, แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒแƒ  แƒ›แƒฅแƒแƒœแƒ“แƒ แƒชแƒแƒ“แƒœแƒ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ—แƒแƒœ (P2P) แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

    แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒก แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“, P2P แƒœแƒแƒ™แƒแƒ“แƒ˜ แƒ›แƒแƒ แƒ—แƒšแƒแƒช แƒซแƒแƒšแƒ˜แƒแƒœ แƒ แƒ—แƒฃแƒšแƒ˜ แƒกแƒคแƒ”แƒ แƒแƒ แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒฃแƒš แƒ›แƒ”แƒชแƒœแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜. แƒ›แƒแƒก แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฃแƒ›แƒ™แƒšแƒแƒ•แƒ“แƒ”แƒก แƒ’แƒ แƒซแƒ”แƒšแƒ•แƒแƒ“แƒ˜แƒแƒœแƒ˜ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ IP แƒ“แƒ NAT, แƒ แƒแƒ—แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒก Peer-to-peer แƒกแƒ”แƒกแƒ˜แƒ. แƒแƒ› แƒžแƒ แƒแƒ”แƒฅแƒขแƒ–แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก, แƒ›แƒ” แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ” แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒชแƒแƒ“แƒœแƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ“แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒก แƒ›แƒแƒ•แƒฃแƒฌแƒแƒ“แƒ”แƒ‘, แƒกแƒชแƒแƒ“แƒแƒœ P2P แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ WebRTC-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

    CloudRetro แƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒก, แƒ แƒแƒกแƒแƒช แƒ•แƒ”แƒšแƒแƒ“แƒ˜ แƒฉแƒ”แƒ›แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ แƒ”แƒขแƒ แƒ แƒ›แƒแƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒžแƒ”แƒ แƒกแƒžแƒ”แƒฅแƒขแƒ˜แƒ•แƒ˜แƒ“แƒแƒœ. แƒ—แƒฃแƒ›แƒชแƒ, แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘, แƒ แƒแƒ› แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜ แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒกแƒคแƒ”แƒ แƒแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒแƒช แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒฃแƒคแƒ แƒ แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒ แƒ“แƒ แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ‘แƒ, แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒฃแƒคแƒ แƒ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜แƒก แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ, แƒแƒœ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ. แƒแƒ›แƒแƒ–แƒ” แƒ‘แƒ”แƒ•แƒ แƒก แƒ•แƒ›แƒฃแƒจแƒแƒแƒ‘. แฒ’แƒ—แƒฎแƒแƒ• แƒ’แƒแƒ›แƒแƒ›แƒงแƒ”แƒ•แƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ“แƒ แƒ›แƒฎแƒแƒ แƒ˜ แƒ“แƒแƒฃแƒญแƒ˜แƒ แƒ”แƒ— แƒ—แƒฃ แƒ›แƒแƒ’แƒฌแƒแƒœแƒ—.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ