ืืืืืืืืืจื ืืื ืึท ืืื ืกื, ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ ืืื ืึท ืืื ืกื, ืคึผืืึทืืคืึธืจืืข ืืื ืึท ืืื ืกื, ืงืึธืืื ืืงืึทืฆืืข ืคึผืืึทืืคืึธืจืืข ืืื ืึท ืืื ืกื, ืืืืืขื ืงืึทื ืคืจืึทื ืกืื ื ืืื ืึท ืืื ืกื, ืืืึธืก ืืืขืื ืืืึธืืงื ืืืืืื ื ืืื ืึท ืืื ืกื? ืขืก ืืขื ืขื ืฉืืื ืขืืืขืืข ืคืจืืืื ืฆื ืฉืึทืคึฟื ืืืึธืืงื ืืืืืื ื (Cloud Gaming), ืึทืืึท ืืื ืกืืึทืืืึท, ืืขืฆืื ืก ืืึธื ืืฉื ืืืจื Google. ืกืืึทืืืึท , ืึธืืขืจ ืงืขื ืขื ืื ืืขืจืข ื ืืฆื WebRTC ืืื ืื ืืขืืืข ืืืขื?
Thanh Nguyen ืืึทืฉืืึธืกื ืฆื ืคึผืจืืืืจื ืืขื ืืขืืขืื ืืืื ืืืืฃ ืืืื ืึธืคึฟื ืืงืืจ ืคึผืจืืืขืงื CloudRetro. CloudRetro ืืื ืืืืืจื ืืืืฃ ืคึผืืึธื, WebRTC ืืืืืืึธืืขืง ืืืืืจื ืืืืฃ Go (ืืื ืง ืคืื ืื Pion ืึทื ืืืืืงืืื ื ืืึทื ืฉืึทืคึฟื ืคึฟืึทืจ ืืืืขืจ ืืืืฃ ืืื ืคึผืจืืคึผืขืจืื ื ืืขื ืึทืจืืืงื). ืืื ืืขื ืึทืจืืืงื, Thanh ืืื ืึทื ืืืืขืจืืืืง ืคืื ืื ืึทืจืงืึทืืขืงืืฉืขืจ ืคืื ืืืื ืคึผืจืืืขืงื, ืืื ืืืื ืจืขืื ืืืขืื ืืืึธืก ื ืืฆืืง ืืื ืื ืขืจ ืืขืืขืจื ื ืืื ืืืึธืก ืืฉืึทืืึทื ืืืฉืื ืขืจ ืืขืคึผืืึธื ืืขืจื ืืขืฉืึทืก ืืืื ืึทืจืืขื.
ืคึผืึธืืืฆืืข
ืืขืฆืืข ืืึธืจ, ืืืขื Google ืึทื ืึทืื ืกื ืกืืึทืืืึท, ืืึธืก ืืื ืืขืืืขื ืืืื ืืืื ืื ื. ืืขืจ ืืขืืึทื ืง ืืื ืึทืืื ืืื ืฆืืง ืืื ืื ืึทืืืืืืืื ืึทื ืืื ืงืขืกืืืืขืจ ืืขืืืืืฉื ืืื ืืึธืก ืืื ืืคืืื ืืขืืืขื ืืื ืืืืืกืืื ื ืืขืื ืึธืืึธืืืข. ืืขืจ ืคืึทืจืืึทื ื ืฆื ืืขืกืขืจ ืคึฟืึทืจืฉืืืื ืืขื ืืขืืข ืคึผืจืึทืืคึผืืื ืืืจ ืฆื ืืึทืื ืืืื ืืืืืขื ืข ืืืขืจืกืืข ืคืื โโืึทื ืึธืคึฟื-ืืงืืจ ืืืึธืืงื ืฉืคึผืื. ืืขืจ ืจืขืืืืืึทื ืืื ืืขืืืขื ืคืฉืื ืคืึทื ืืึทืกืืืฉ. ืื ืืขืจ ืืื ืืืึธืื ืืื ืฆื ืืืืื ืืขื ืคึผืจืึธืฆืขืก ืคืื ืืจืืขืื ืืืืฃ ืืืื ืืึธืจ .
TLDR: ืงืืจืฅ ืจืืง ืืืขืจืกืืข ืืื ืืืืืืืฅ
ืคืืจืืืืก ืืืึธืืงื ืืืืืื ื ืืื ืื ืฆืืงืื ืคึฟื
ืืื ืืืืืื ืึทื ืงืืึธืื ืืืืืื ื ืืืขื ืืึทืื ืืืขืจื ืืขืจ ืืืืึทืืขืจ ืืืจ ืคืื ื ืื ืืืืื ืืืืืื ื, ืึธืืขืจ ืืืื ืื ืืขืจืข ืืขืืืื ืคืื ืงืึธืืคึผืืืืขืจ ืืืืกื ืฉืึทืคึฟื. ืืืึธืืงื ืืืืืื ื ืืื ืืขืจ ืฉืคึผืืฅ ืคืื ืื ืงืืืขื ื / ืกืขืจืืืขืจ ืืึธืืขื. ืืขืจ ืืึธืืขื ืืึทืงืกืึทืืืืืื ืืึทืงืขื ื ืคืึทืจืืืึทืืืื ื ืืื ืืื ืึทืืืืืึทื ืคืจืึธื ืืขื ื ืึทืจืืขื ืืืจื ืืึธืกืืื ื ืฉืคึผืื ืืึธืืืง ืืืืฃ ืึท ืืืืึทื ืกืขืจืืืขืจ ืืื ืกืืจืืืื ื ืืืืืขืจ / ืึทืืืืึธ ืฆื ืืขื ืงืืืขื ื. ืืขืจ ืกืขืจืืืขืจ ืืื ืื ืฉืืืขืจ ืคึผืจืึทืกืขืกืื ื ืึทืืื ืืขืจ ืงืืืขื ื ืืื ื ืื ืืขืจ ืืื ืื ืจืืื ืืช ืคืื ืืึทืื ืืืึทืจื ืืืืืืืืฉืึทื ื.
Google ืกืืึทืืืึท ืืกืขื ืฉืึทืื ืึทืืึทืื ืืืจ ืฆื ืฉืคึผืืื (ื"ื ืืืื-ืกืืฃ ืืืึทืงืืึทืกืืขืจ ืฉืคึผืืืขืจืืึท) ืืืืฃ ืึท ืฆืืืื ื ืืื ืืึธืืืืืข. ืืขืจ ืืขืืืืงืขืจ ืืขืืึทืืึทืืึทืืืฉื ืงืขื ืขื ืืืื ืืขืืืขื ืื ืฆื ืื ืืขืจืข ืฉืืืขืจ ืึธืคืคืืื ืข ืึทืคึผืืึทืงืืืฉืึทื ื ืึทืืึท ืืื ืึทืคึผืขืจืืืืื ื ืกืืกืืขื ืึธืืขืจ 2 ื / 3 ื ืืจืึทืคืืง ืคึผืืึทื, ืขืืง. ืึทืืื ืืืจ ืงืขื ืขื ืืืืคื ืืื ืงืึทื ืกืืกืืึทื ืืื ืืืืฃ ื ืืืขืจืืง-ืกืคึผืขืง ืืขืืืืกืขืก ืึทืจืืืขืจ ืงืืืคื ืคึผืืึทืืคืึธืจืืก.

ืื ืฆืืงืื ืคื ืคืื ืืขื ืืขืื ืึธืืึธืืืข: ืฉืืขืื ืืื ืคืืจ ืืืื ืืืืงืจืึธืกืึธืคึฟื Windows 10 ืืื ืขืก ืืขืืจืืขื ืืื ืงืจืึธืื ืืจืึทืืืขืจ?
ืืืึธืืงื ืืืืืื ื ืืื ืืขืงื ืืงืื ืืฉืึทืืึทื ืืืฉืื ื
ืืืืืื ื ืืื ืืืื ืขืจ ืคืื ืื ืืขืืื ืืขืืืื ืืื ืงืขืกืืืืขืจืืืง, ืฉื ืขื ืืึทื ืืฆืขืจ ืขื ืืคืขืจ ืืื ืคืืจืืื ืื. ืืืื ืืืื ืืึธื ืืืจ ืืจืขืคื ืึท ืคืึทืจืืึทืืื ืคืื 2 ืกืขืงืื ืืขืก ืืืขื ืงืืืงืื ื ืืืืฃ ืึท ืืืึทื, ืืึธืก ืืื ืคึผืึทืกืืง. ืืืืื ืืืืืขื ืกืืจืืื ืืขื ื ืฆื ืึธืคึผืืึทืืื ืึท ืืืกื ืกืขืงืื ืืขืก, ืึธืืขืจ ื ืึธื ืคืึธืจืฉืืึธืื ืึท ืืืืึทื ืืกืึทืืืืืื. ืึธืืขืจ, ืืืื ืื ืฉืคึผืื ืึธืคื ืืึทืื ืืื 500ms, ืขืก ืืื ืคืฉืื ืึทื ืคึผืืืืึทืืึทื. ืืื ืืืขืจ ืฆืื ืืื ืฆื ืืขืจืืจืืืื ืืึธืจ ื ืืืขืจืืง ืืืืืึทื ืกื ืึทืืื ืึทื ืื ืจืืก ืฆืืืืฉื ืึทืจืืึทื ืฉืจืืึทื ืืื ืืืืืึท ืืื ืืื ืงืืืื ืืื ืืขืืืขื. ืืขืจืืืขืจ, ืืขืจ ืืจืืืืฆืืื ืขืื ืฆืืืึทื ื ืฆื ืืืืืขื ืกืืจืืืื ื ืืื ื ืืฉื ืึธื ืืืขื ืืืขื ืืึธ.

ืึทืืืขืืืื ืข ืงืืึธืื ืฉืคึผืื ืืืกืืขืจ
ืขืคึฟื ืืงืืจ ืคึผืจืืืขืงื CloudRetro
ืืื ืืึทืฉืืึธืกื ืฆื ืืึทืื ืึท ืคึผืจืึธืืข ืืืกืืขืจ ืคืื ืึท ืืืึธืืงื ืฉืคึผืื ืฆื ืืขื ืืืื ืึทืืข ืืขื ืืื ืืขืืืขื ืืื ืึทืืึท ืขื ื ื ืขืฅ ืจืืกืืจืืงืฉืึทื ื. ืืื ืืึธื ืืืืกืืขืจืืืืืื Golang ืคึฟืึทืจ ืืขืจ ืืขืจืืืืึทื ืคืื ืืึทืืจืืฃ ืืืืึทื ืืึธืก ืืื ืืขืืืขื ืื ืฉืคึผืจืึทื ืืืึธืก ืืื ืืื ืืขืืืขื ืืขืจืกื ืืึทืงืึทื ื ืืื ืืื ืืื ืืขืืืขื ืืขืืื ื ืคึผืึทืกืืง ืคึฟืึทืจ ืืขื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคึฟืึทืจ ืคืืืข ืื ืืขืจืข ืกืืืืช, ืืื ืืื ืฉืคึผืขืืขืจ ืืืกืงืึทืืืขืจื. ืืืื ืืื ืคึผืฉืื ืืื ืึทื ืืืืืงืืขื ืืืืขืจ ืืขืฉืืืื ื; ืืฉืึทื ืึทืื ืืื Go ืืขื ืขื ืืจืืืก ืคึฟืึทืจ ืึธื ืคืืจืื ื ืืืืืืืืจืขืึทืืื ื.
ืคึผืจืืืขืงื ืืื ืึทื ืึธืคึฟื ืืงืืจ ืืืึธืืงื ืืืืืื ื ืืื ืกื ืคึฟืึทืจ ืจืขืืจืึธ ืืืืืื ื. ืืขืจ ืฆืื ืคืื ืื ืคึผืจืืืขืงื ืืื ืฆื ืืจืขื ืืขื ืื ืืขืจืกื ืืึทืงืืืขื ืืืืืื ื ืืขืจืคืึทืจืื ื ืฆื ืืจืืืืฆืืื ืขืื ืจืขืืจืึธ ืฉืคึผืืืขืจืืึท ืืื ืืืืื ืืืืืืคึผืืืึทืขืจ.
ืืืจ ืงืขื ื ืืขืจื ืขื ืืขืจ ืืืขืื ืืขื ืคึผืจืืืขืงื ืืึธ: .
CloudRetro ืคืึทื ืืงืฉืึทื ืึทืืืื
CloudRetro ื ืืฆื ืจืขืืจืึธ ืฉืคึผืืืขืจืืึท ืฆื ืืึทืืืืึทืื ืื ืืึทืื ืคืื ืืืึธืืงื ืืืืืื ื. ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืืึทืงืืืขื ืคืืืข ืืื ืฆืืง ืืืืืื ื ืืงืกืคึผืืจืืึทื ืกืื.
- ืคึผืึธืจืืึทืืืืืื ืคืื ืื ืฉืคึผืื
- ืจืขืืข ืคึผืืืืืึทืง ืืืขื ืขืคื ืื ืืืึทื; ืงืืื ืืจืืคืงืืคืืข ืึธืืขืจ ืืึทื ืืึธื ืืืจืื ื ืืืจืฃ
- ืึทืจืืขื ืืื ืึท ืจืืจืขืืืืืง ืืืขืืขืจืขืจ, โโืึทืืื ืงืืื ืืืืืืืืืจื ืืื ืืืจืฃ ืฆื ืืืืคื ืขืก
- ืฉืคึผืื ืกืขืฉืึทื ื ืงืขื ืขื ืืืื ืฉืขืจื ืืืืฃ ืงืืืคื ืืขืืืืกืขืก ืืื ืกืืึธืจื ืืื ืื ืืืึธืืงื ืคึฟืึทืจ ืืืืึทืืขืจ ืืึธื ืืืจ ืงืืึธืฅ ืืื
- ืื ืฉืคึผืื ืงืขื ืขื ืืืื ืกืืจืืื, ืึธืืขืจ ืขืก ืงืขื ืขื ืืืื ืคึผืืืึทืขื ืืืจื ืขืืืขืืข ืืืืขืจื ืืื ืึทืืึธื:
- Crowdplay ืืื TwitchPlayPokemon, ืืืืื ืืขืจ ืงืจืืึทื-ืคึผืืึทืืคืึธืจืืข ืืื ืืขืจ ืคืึทืงืืืฉ-ืฆืืื
- ืึธืคืคืืื ืข ืืึทืืขืก ืึธื ืืืื. ืคืืืข ืืืืขืจื ืงืขื ืขื ืฉืคึผืืื ืึธื ืืึทืฉืืขืืืงื ืึท ื ืขืฅ. Samurai Shodown ืงืขื ืขื ืืืฆื ืืืื ืคึผืืืึทืขื ืืืจื 2 ืคึผืืืึทืขืจืก ืืืืขืจ ืื CloudRetro ื ืขืฅ

ืืขืืึธ ืืืขืจืกืืข ืคืื โโืึธื ืืืื ืืืืืืคึผืืืึทืขืจ ืฉืคึผืื ืืืืฃ ืคืึทืจืฉืืืขื ืข ืืขืืืืกืขืกืื ืคืจืึทืกืืจืึทืงืืฉืขืจ
ืจืขืงืืืืจืขืืขื ืฅ ืืื ืืขืื ืึธืืึธืืืข ืึธื ืืืืื
ืื ืืขืจ ืืื ืึท ืจืฉืืื ืคืื ืจืขืงืืืืจืขืืขื ืฅ ืืืึธืก ืืื ืฉืืขืื ืืืืืขืจ ืืื ืึธื ืืืืื ืืขื ืคึผืจืืืขืงื.
1. ืืืื ืฉืคึผืืืขืจ
ืื ืคืึธืืขืจืื ื ืงืขื ื ืืฉื ืืืกืงืืืขื ืฆื ืืืืืืืง ืึธืืขืจ ืงืืึธืจ ืืื ืืขืจ ืืึธื ืืึธ, ืึธืืขืจ ืขืก ืืื ืืืื ืขืจ ืคืื ืืืื ืฉืืืกื ืืืืงืืืืื, ืขืก ืึทืืึทืื ืืืึธืืงื ืืืืืื ื ืฆื ืืืืึทืื ืืื ืืืืึทื ืึทืืืขืง ืคืื ืืจืืืืฆืืื ืขืื ืกืืจืืืื ื ืืึทืืื ืื ืืก ืืื ืืขืืืขื. ืืืื ืืืจ ืคืึธืงืืก ืืืืฃ ืึท ืืืื-ืฉืคึผืืืขืจ ืฉืคึผืื, ืืืจ ืงืขื ืขื ืืึทืงืืืขื ืืึทืคืจืืึทืขื ืคืื ืึท ืกืขื ืืจืึทืืืืื ืกืขืจืืืขืจ ืึธืืขืจ CDN ืืืืึทื ืืืจ ืืึธื ื ืื ืืึธืื ืฆื ืกืืจืืืื ื ืฆื ืื ืืืกืข. ืึทื ืฉืืึธื ืืคึผืืึธืึทืืื ื ืกืืจืืื ืฆื ืึท ืืื ืงืขื ืกืขืจืืืขืจ ืึธืืขืจ ืคืึธืจื ืคึผืึทืงืืฅ ืฆื ืึท ืกืขื ืืจืึทืืืืื ืืืขืืกืึธืงืงืขื ืกืขืจืืืขืจ, ืกืขืจืืืืก ืกืืจืืื ืืขื ืขื ืืืืขืจืืขืืขืื ืืืืึทื ืฆื ืืขืจ ืืึทื ืืฆืขืจ ืืืจื ืึท ืืึทื ืงืืงื -ืฆื-ืืึทื ืงืืงื ืืืขืืจืืง ืงืฉืจ.2. ื ืืืขืจืืง ืืืืืึทื ืกื ืืืืืึท ืืืึทื
ืืืืขื ืขื ืืืขืื ืกืืึทืืืึท, ืืื ืึธืคื ืืขื WebRTC ืืขืจืืื ื ืืื ืขืืืขืืข ืึทืจืืืงืืขื. ืืื ืืืื ืืขืืขื ืึทื WebRTC ืืื ืึท ืืืืืขื ืืขืื ืึธืืึธืืืข ืืื ืืื ืืื ืฅ ืคึฟืึทืจ ื ืืฆื ืืื ืืืึธืืงื ืืืืืื ื. WebRTC ืืื ืึท ืคึผืจืืืขืงื ืืืึธืก ืคึผืจืึธืืืืืขืก ืืืขื ืืจืึทืืืขืจื ืืื ืจืืจืขืืืืืง ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืคืึทืงืืืฉ-ืฆืืื ืงืึธืืื ืืงืึทืฆืืข ืืืจื ืึท ืคึผืฉืื ืึทืคึผื. ืขืก ืืื ืืึทื ืงืืงื -ืฆื-ืืึทื ืงืืงื ืงืึทื ืขืงืืืืืืื, ืืื ืึธืคึผืืืืืืขื ืคึฟืึทืจ ืืืืืึท, ืืื ืืื ื ืึธืจืืึทื ืงืึธืืขืงืก ืืขืืืื-ืืื ืึทืืึท ืืื VP8 ืืื H264.ืืื ืคึผืจืืืึธืจืึทืืืืื ืื ืฉืืจืื ื ืืขืจ ืืขืกืืขืจ ืืขืืืขื ืืึทื ืืฆืขืจ ืืขืจืคืึทืจืื ื ืืืืขืจ ืืืื ืืืื ืื ื ืืืื ืงืืืึทืืืืขื ืืจืึทืคืืงืก. ืขืืืขืืข ืืึธืกืกืขืก ืืขื ืขื ืคึผืึทืกืืง ืืื ืื ืึทืืืขืจืืืึทื. Google ืกืืึทืืืึท ืืื ืึทื ื ืึธื ืฉืจืื ืคืื ืจืืืืกืื ื ืื ืืืื ืืจืืืก ืืืืฃ ืื ืกืขืจืืืขืจ, ืืื ืจืึธืืขื ืืขื ืขื ืึทืคึผืกืงืืืืขื ืฆื ืึท ืืขืืขืจ ืงืืืึทืืืืขื ืืืืืขืจ ืืื ืืจืึทื ืกืืืืืขื ืฆื ืคึผืืจื.
3. ืคืื ืื ืืขืจืืขืืืืื ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ ืืื ืืืฉืืึทืืจืึทืคืืง ืจืืืื ื
ื ืื ืงืืื ืขื ืื ืืื ืึธืคึผืืืืืืขื ืื ืงืึทืืคึผืจืขืฉืึทื ืึทืืืขืจืืืึทื ืืื ืงืึธื ืืขื ืขื, ืื ื ืขืฅ ืืื ื ืึธื ืืขืจ ืืึทืฉืืืก ืคืึทืงืืึธืจ ืืืึธืก ืงืึทื ืืจืืืืืฅ ืื ืืขืจืกื ืฆื ืืืืืึทื ืกื. ืื ืึทืจืงืึทืืขืงืืฉืขืจ ืืืื ืืึธืื ืึท ืืขืงืึทื ืืืึทื ืฆื ืคึผืึธืจ ืื ืกืขืจืืืขืจ ืงืืึธืืกืึทืกื ืฆื ืืขืจ ืืึทื ืืฆืขืจ ืฆื ืจืขืืืฆืืจื ืื ืจืึธืื ื-ืืึทืืืข ืฆืืื (RTT). ืื ืึทืจืงืึทืืขืงืืฉืขืจ ืืืื ืืึธืื 1 ืงืึธืึธืจืืื ืึทืืึธืจ ืืื ืขืืืขืืข ืกืืจืืืื ื ืกืขืจืืืขืจืก ืคืื ืื ืืขืจืืขืืืืื ืืืืขืจ ืื ืืืขืื: ืื. ืขืก. ืืขืจื, ืื ืืืจื, ืืืืจืึธืคึผืข, ืกืื ืืึทืคึผืึธืจ, ืืฉืืื ืึท. ืึทืืข ืกืืจืืืื ื ืกืขืจืืืขืจืก ืืืื ืืืื ืืึธืจ ืืคืืขืืื ืืขืจื. ืื ืกืืกืืขื ืงืขื ืขื ืกืืจืืืขืจื ืืืื ืคืึทืจืฉืคึผืจืืืืื ื ืืืขื ืึท ืกืขืจืืืขืจ ืืืฉืืื ืฅ ืึธืืขืจ ืืึธืื ืื ื ืขืฅ. ืืืื, ืืื ืืจืืืก ืคืึทืจืงืขืจ, ืึทืืื ื ื ืึธื ืกืขืจืืืขืจืก ืึทืืึทืื ืืึธืจืืืึธื ืืึทื ืกืงืืืืื ื.4. ืืจืึทืืืขืจ ืงืึทืืคึผืึทืืึทืืืืึทืื
ืืืึธืืงื ืืืืืื ื ืืื ืืขืกืืขืจ ืืืขื ืขืก ืจืืงืืืืืขืจื ืื ืงืืขื ืกืืขืจ ืคืื ืืืืขืจื. ืืขื ืืืื ืึทื ืขืก ืืื ืืขืืืขื ืฆื ืืืืคื ืืื ืึท ืืืขืืขืจืขืจ. ืืจืึทืืืขืจื ืืขืืคึฟื ืืึทืื ืื ืืืืืื ื ืืขืจืคืึทืจืื ื ืืื ืืึทืงืืืขื ืืื ืืขืืืขื ืคึฟืึทืจ ืืืืขืจื, ืฉืคึผืึธืจื ืืื ืคืื ืื ืกืืึธืืื ื ืืืืืืืืืจื ืืื ืืึทืื ืืืึทืจื. ืืจืึทืืืขืจื ืืืื ืืขืืคึฟื ืฆืืฉืืขืื ืงืจืืึทื-ืคึผืืึทืืคืึธืจืืข ืคืึทื ืืงืฉืึทื ืึทืืืื ืฆืืืืฉื ืจืืจืขืืืืืง ืืื ืืขืกืงืืึทืคึผ ืืืขืจืกืืขืก. ืฆืื ืืืืง, WebRTC ืืื ืืขืืื ื ืืขืฉืืืฆื ืึทืจืืืขืจ ืึท ืคืึทืจืฉืืืื ืงืืึทื ืคืื ืืจืึทืืืขืจื.5. ืงืืึธืจ ืฆืขืฉืืืืื ื ืคืื ืื ืฉืคึผืื ืฆืืืื ื ืืื ืืื ืกื
ืืื ืงืืง ืื ืืืึธืืงื ืืืืืื ื ืืื ืกื ืืื ืึท ืคึผืืึทืืคืึธืจืืข. ืึทืืขืืขื ืืึธื ืงืขื ืขื ืฆื ืคืึทืจืืื ืื ืขืคึผืขืก ืฆื ืืขืจ ืคึผืืึทืืคืึธืจืืข. ืืืฆื ืืื ืืึธืื ืื ืึทืืจืืืืื ืืื ืืืึธืืงื ืืืืืื ื ืืื ืกื ืืืืึทื LibRetro ืึธืคืคืขืจืก ืึท ืฉืืื ืฉืคึผืื ืขืืืืึทืืึธืจ ืฆืืืื ื ืคึฟืึทืจ ืจืขืืจืึธ ืฉืคึผืืืขืจืืึท ืึทืืึท ืืื SNES, GBA, PS.6. ืจืืื ืคึฟืึทืจ ืืืืืืคึผืืืึทืขืจ, ืืึทืกืข ืฉืคึผืื ืืื ืคืื ืืจืืืกื ืืืง ืคึฟืึทืจืืื ืืื ื (ืืืฃ-ืืื ืง) ืืื ืื ืฉืคึผืื
CloudRetro ืฉืืืฆื ืคืืืข ื ืืึทืข ืืึทืืขืคึผืืืึทืก ืึทืืึท ืืื CrowdPlay ืืื ืึธื ืืืื ืืืืืืคึผืืืึทืขืจ ืคึฟืึทืจ ืจืขืืจืึธ ืฉืคึผืืืขืจืืึท. ืืืื ืขืืืขืืข ืืืืขืจื ืขืคืขื ืขื ืื ืืขืืืข ืืืฃ-ืืื ืง ืืืืฃ ืคืึทืจืฉืืืขื ืข ืงืึธืืคึผืืืืขืจืก, ืืื ืืืขืื ืืขื ืื ืืขืืืข ืคืืืกื ืืืง ืฉืคึผืื ืืื ืืคืืื ืงืขื ืขื ืฆื ืคืึทืจืืื ืื ืขืก.ืืขืจืฆื, ืฉืคึผืื ืฉืืึทืื ืืขื ืขื ืกืืึธืจื ืืื ืืืึธืืงื ืกืืึธืจืืืืฉ. ืืึธืก ืึทืืึทืื ื ืืฆืขืจืก ืฆื ืคืึธืจืืขืฆื ืคึผืืืืื ื ืืื ืงืืื ืฆืืื ืืืืฃ ืงืืื ืื ืืขืจืข ืืืื.
7. ืืึธืจืืืึธื ืืึทื ืกืงืืืืื ื
ืืื ืงืืื ืกืึทืึทืก ื ืึทืืึทืืืื, ืืืึธืืงื ืืืืืื ื ืืืื ืืืื ืืืืืื ื ืฆื ืืืื ืืึธืจืืืึทื ืืึทืื ืกืงืึทืืึทืืืข. ืื ืงืึธืึธืจืืื ืึทืืึธืจ-ืึทืจืืขืืขืจ ืคึผืืึทื ืึทืืึทืื ืืืจ ืฆื ืืืืื ืืขืจ ืืืขืจืก ืฆื ืืื ืขื ืืขืจ ืคืึทืจืงืขืจ.8. ืงืืื ืงืฉืจ ืฆื ืืืื ืืืึธืืงื
ืื ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ ืคืื CloudRetro ืืื ืืึธืืกืืื ืืืืฃ ืคืึทืจืฉืืืขื ืข ืืืึธืืงื ืคึผืจืึทืืืืืืขืจื (ืืืืืืึทื ืืงืขืื, ืึทืืืืึทืืึท, ืื ืื ืฉืคึผืืึทืืขืจ) ืคึฟืึทืจ ืคืึทืจืฉืืืขื ืข ืืงืืืืช. ืืื ืืขืื ืคืืืกื ืืืง ืืื ืึท ืืึธืงืงืขืจ ืงืึทื ืืืื ืขืจ ืคึฟืึทืจ ืื ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ ืืื ืงืึทื ืคืืืืขืจ ื ืขืฅ ืกืขืืืื ืืก ื ืืฆื ืึท ืืึทืฉ ืฉืจืืคื ืฆื ืืืกืืืืื ืคืืจืฉืคืืจื ืืื ืึท ืืืื ืืืึธืืงื ืฉืคึผืืึทืืขืจ. ืืืจื ืงืึทืืืืื ืื ื ืืขื ืืื NAT ืืจืึทืืืขืจืกืึทื ืืื WebRTC, ืืืจ ืงืขื ืขื ืืึธืื ืื ืืืืืืงืืื ืฆื ืฆืขืืืืงืืขื CloudRetro ืืืืฃ ืงืืื ืืืึธืืงื ืคึผืืึทืืคืึธืจืืข ืืื ืืคืืื ืืืืฃ ืื ืืืฉืื ืขื ืคืื ืงืืื ืืึทื ืืฆืขืจ.ืึทืจืงืึทืืขืงืืฉืขืจืึทื ืคึผืืึทื
ืึทืจืืขืืขืจ: (ืึธืืขืจ ืื ืกืืจืืืื ื ืกืขืจืืืขืจ ืืขืจืืื ื ืืืืื) ืืึทืืืึทืคึผืืืื ืื ืฉืคึผืืืขืจืืึท, ืืืืคื ืื ืงืึธืืืจืื ื ืจืขืจื - ืืื ืืข ืืื ืกืืจืืื ืื ืขื ืงืึธืืืื ืืืืืึท ืฆื ืืืืขืจื. ืึทืจืืขืืขืจ ืื ืกืืึทื ืกืื ืืขื ืขื ืคืื ืื ืืขืจืืขืืืืื ืืืืขืจ ืืขืจ ืืืขืื, ืืื ืืขืืขืจ ืึทืจืืขืืขืจ ืงืขื ืขื ืฉืขืคึผื ืงืืืคื ืืึทื ืืฆืขืจ ืกืขืฉืึทื ื ืกืืืืึทืืืืื ืืึทืกืื.
ืงืึธืึธืจืืื ืึทืืึธืจ: ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืคึผืขืจืื ื ืื ื ืืึทืข ืืึทื ืืฆืขืจ ืืื ืื ืืขืจืกื ืคึผืึทืกืืง ืึทืจืืขืืขืจ ืคึฟืึทืจ ืกืืจืืืื ื. ืืขืจ ืงืึธืึธืจืืื ืึทืืึธืจ ืื ืืขืจืึทืงืฅ ืืื ืืืขืจืก ืืืจื WebSocket.
ืฉืคึผืื ืฉืืึทื ืกืืึธืจืืืืฉ: ืฆืขื ืืจืื ืืืืึทื ืกืืึธืจืืืืฉ ืคึฟืึทืจ ืึทืืข ืฉืคึผืื ืฉืืึทืื. ืืขืจ ืกืืึธืจืืืืฉ ืืื ืืืืืืืง ืคืึทื ืืงืฉืึทื ื ืึทืืึท ืืื ืืืืึทื ืฉืคึผืึธืจื / ืืึทืกืข.

Top-ืืืจืื ืึทืจืงืึทืืขืงืืฉืขืจ ืคืื CloudRetroืื ืื ืกืงืจืืคึผื
ืืืขื ืึท ื ืืึทืข ืืึทื ืืฆืขืจ ืึธืคึผืขื ืก ืงืืึธืืืจืขืืจืึธ ืืื ืกืืขืคึผืก 1 ืืื 2 ืืขืืืืื ืืื ืื ืคืืืืจ ืืื ืื, ืืขืจ ืงืึธืึธืจืืื ืึทืืึธืจ ืฆืืืืืขื ืืื ืื ืจืฉืืื ืคืื ืคืึทืจืึทื ืขื ืืืขืจืก ืืื ืืขืืขืื ืฆื ืืขืจ ืขืจืฉืืขืจ ืืืึทื. ื ืึธื ืืขื, ืืื ืฉืจืื 3 ืืขืจ ืงืืืขื ื ืงืึทืืงืืึทืืืืฅ ืื ืืืืืื ืคึฟืึทืจ ืึทืืข ืงืึทื ืืึทืืืืฅ ื ืืฆื ืึท HTTP ืคึผืื ื ืืขืื. ืื ืจืฉืืื ืคืื ืคืึทืจืืึทืืื ืืื ืืขืจื ืึธื ืืขืฉืืงื ืฆืืจืืง ืฆื ืื ืงืึธืึธืจืืื ืึทืืึธืจ ืึทืืื ืึทื ืขืจ ืงืขื ืขื ืืึทืฉืืืกื ืื ืืขืจืกื ืคึผืึทืกืืง ืึทืจืืขืืขืจ ืฆื ืืื ืขื ืืขื ืืึทื ืืฆืขืจ. ืฉืจืื 4 ืืื ืื ืงืจืืืืฅ ืื ืฉืคึผืื. ื WebRTC ืกืืจืืืื ื ืงืฉืจ ืืื ืืขืืจืื ืืขื ืฆืืืืฉื ืื ืืึทื ืืฆืขืจ ืืื ืื ืึทืกืืื ื ืึทืจืืขืืขืจ.

ืืึทื ืืฆืขืจ ืฉืจืืคื ื ืึธื ืืืื ืื ื ืึทืงืกืขืกืืืึธืก ืก ืื ืืขืจ ืึทืจืืขืืขืจ
ืฉืคึผืื ืืื ืกืืจืืืื ื ืคึผืืืคึผืืืื ื ืืขื ืขื ืกืืึธืจื ืื ืืขืจ ืึทืจืืขืืขืจ ืืื ืืคืืขืืื ืืขืจืืงืืื ืืื ืืืขืงืกื ืืื ืคึฟืึธืจืืึทืฆืืข ืืึธืจื ืืืจื ืื ืฆืืืื ื. ืืขืจืืืืึทื, ืืขื ืงืึธืืื ืืงืึทืฆืืข ืืื ืืขืคืืจื ืืืืก ืืืจื ืืจืึทื ืกืคืขืจืื ื ืืึทืื ืืื ืืึผืจืื ืืืจื ืืื ืืขืจ ืืขืืืืงืขืจ ืคึผืจืึธืฆืขืก. ืืขืจ ืืืืึทืืขืจ ืฆืื ืืื ืกืขืืจืขืืึทืฆืืข, ื.ื. ืคืจืืึท ืงืึทืืขืจ ืคืื ืื ืฉืคึผืื ืืื ืื ืื ืืขืจ ืคึผืจืึธืฆืขืก.

ืื ืืขืจืึทืงืฉืึทื ืคืื ืึทืจืืขื ืงืึทืืคึผืึธืื ืึทื ืฅืืืืคึผื ืงืึทืืคึผืึธืื ืึทื ืฅ:
- WebRTC: ืึท ืงืืืขื ื ืงืึธืืคึผืึธื ืขื ื ืืืึธืก ืึทืงืกืขืคึผืฅ ืืึทื ืืฆืขืจ ืึทืจืืึทื ืฉืจืืึทื ืืื ืึทืืืคึผืืฅ ืขื ืงืึธืืืื ืืืืืึท ืคืื ืื ืกืขืจืืืขืจ.
- ืฉืคึผืื ืขืืืืึทืืึธืจ: ืฉืคึผืื ืงืึธืืคึผืึธื ืขื ื. ืืึทื ืง ืฆื ืื Libretro ืืืืืืึธืืขืง, ืื ืกืืกืืขื ืืื ืืืืืืช ืฆื ืืืืคื ืื ืฉืคึผืื ืืื ืืขืจ ืืขืืืืงืขืจ ืคึผืจืึธืฆืขืก ืืื ืื ืืขืจืกืขืคึผื ืื ืืืืืึท ืืื ืึทืจืืึทื ืฉืจืืึทื ืืืึทื.
- ืืื-ืฉืคึผืื ืจืึธืืขื ืืขื ืขื ืงืึทืคึผืืฉืขืจื ืืื ืืขืฉืืงื ืฆื ืื ืขื ืงืึธืืขืจ.
- ืืืื / ืึทืืืืึธ ืขื ืงืึธืืขืจ: ืึท ืงืึธืืืจืื ื ืจืขืจื - ืืื ืืข ืืืึธืก ื ืขืื ืืขืืืข ืจืึธืืขื, ืขื ืงืึธืื ืืื ืืื ืืขืจ ืืื ืืขืจืืจืื ื ืืื ืึทืืืคึผืืฅ ืขื ืงืึธืืืื ืืืืืขืจ / ืึทืืืืึธ.
ืืืคึผืืขืืขื ืืึทืืืึธื
CloudRetro ืจืืืืื ืืืืฃ WebRTC ืืื ืืืื ืืึทืงืืึธืื ืืขืื ืึธืืึธืืืข, ืึทืืื ืืืืืขืจ ืืื ืืืืืืื ื ืืื ืื ืืขืืึทืืืก ืคืื ืื Golang ืืืคึผืืึทืืขื ืืืืฉืึทื, ืืื ืืึทืฉืืึธืกื ืฆื ืจืขืื ืืืขืื WebRTC ืืื. ืืึธืก ืืื ืึทืืืืืื ื ืืขืื ืึธืืึธืืืข ืืืึธืก ืืื ืืขืืึธืืคึฟื ืืืจ ืืืืขืจ ืึทืืฉืืืืื ื ืกืึทื-ืฆืืืืื ืืืืืึทื ืกื ืคึฟืึทืจ ืกืืจืืืื ื ืืึทืื.
ืืืขืืจืืง
WebRTC ืืื ืืืืืื ื ืฆื ืฆืืฉืืขืื ืืืื-ืงืืืึทืืืืขื ืืึทื ืงืืงื -ืฆื-ืืึทื ืงืืงื ืงืึทื ืขืงืฉืึทื ื ืืืืฃ ืืขืืืืจื ืจืืจืขืืืืืง ืึทืคึผืคึผืก ืืื ืืจืึทืืืขืจื ื ืืฆื ืคึผืฉืื ืึทืคึผืืก.
NAT ืืจืึทืืืขืจืกืึทื
WebRTC ืืื ืืึทืืืืกื ืคึฟืึทืจ ืืืื NAT ืืจืึทืืืขืจืกืึทื ืคืึทื ืืงืฉืึทื ืึทืืืื. WebRTC ืืื ืืืืืื ื ืคึฟืึทืจ ืืึทื ืงืืงื -ืฆื-ืืึทื ืงืืงื ืงืึธืืื ืืงืึทืฆืืข. ืืืื ืฆืื ืืื ืฆื ืืขืคึฟืื ืขื ืื ืืขืจืกื ืคึผืึทืกืืง ืืืจืขืงื ืืึทืจืฉืจืื, ืืืกืืืืื NAT ืืืืืืืืื ืืื ืคืืจืขืืืึทืืืก ืคึฟืึทืจ ืืึทื ืงืืงื -ืฆื-ืืึทื ืงืืงื ืงืึธืืื ืืงืึทืฆืืข ืืืจื ืึท ืคึผืจืึธืฆืขืก ืืขืจืืคึฟื. . ืืื ืึท ืืืื ืคืื ืืขื ืคึผืจืึธืฆืขืก, ืื WebRTC APIs ืืขืคึฟืื ืขื ืืืื ืขืคื ืืืขื IP ืึทืืจืขืก ื ืืฆื STUN ืกืขืจืืืขืจืก ืืื ืฉืืงื ืขืก ืฆื ืื ืจืขืืข ืกืขืจืืืขืจ () ืืืขื ืึท ืืืจืขืงื ืงืฉืจ ืงืขื ืขื ื ืื ืืืื ืืขืืจืื ืืขื.
ืึธืืขืจ, CloudRetro ืงืขื ื ืืฉื ืืึธืจ ื ืืฆื ืืขื ืฉืืจืื. ืืืื ืืึทื ืงืืงื -ืฆื-ืืึทื ืงืืงื ืงืึทื ืขืงืฉืึทื ื ืืึธื ื ืื ืขืงืกืืกืืืจื ืฆืืืืฉื ืืืืขืจื, ืึธืืขืจ ืฆืืืืฉื ืืืืขืจื ืืื ืืืึธืืงื ืกืขืจืืืขืจืก. ืื ืกืขืจืืืขืจ ืืืึทื ืคืื ืื ืืึธืืขื ืืื ืืืืื ืืงืขืจืข ืืืจืขืงื ืงืึธืืื ืืงืึทืฆืืข ืจืืกืืจืืงืฉืึทื ื ืืื ืึท ืืืคึผืืฉ ืืึทื ืืฆืขืจ ืืืื. ืืึธืก ืึทืืึทืื ืืืจ ืฆื ืคืึทืจ-ืขืคืขื ืขื ืื ืงืึทืืื ื ืคึผืึธืจืฅ ืึธืืขืจ ื ืืฆื ืขืคื ืืืขื IP ืึทืืจืขืกืขืก ืืืืึทื, ืืืืึทื ืืขืจ ืกืขืจืืืขืจ ืืื ื ืืฉื ืืื ืืขืจ NAT.
ืืื ืึทืืขืจ, ืืื ืืขืืืืื ืฆื ืืืขื ืื ืื ืคึผืจืืืขืงื ืืื ืึท ืฉืคึผืื ืคืึทืจืฉืคึผืจืืืืื ื ืคึผืืึทืืคืึธืจืืข ืคึฟืึทืจ ืงืืึธืื ืืืืืื ื. ืืขืจ ืืขืืึทื ืง ืืื ืืขืืืขื ืฆื ืืึธืื ืฉืคึผืื ืงืจืืืืืขืจื ืฆื ืฆืืฉืืขืื ืฉืคึผืืืขืจืืึท ืืื ืกืืจืืืื ื ืจืขืกืืจืกื. ืืื ืืืืขืจื ืืืึธืื ืื ืืขืจืึทืงื ืืื ืคึผืจืึทืืืืืืขืจื ืืืืึทื. ืืื ืืขื ืืืกืขื ืืจืึทืืืืื ืฉืืืืืขืจ, CloudRetro ืืื ืืืืื ืึท ืคืจืืืืืืขืจืง ืคึฟืึทืจ ืงืึทื ืขืงืืื ื ืืจืื-ืคึผืึทืจืืื ืกืืจืืืื ื ืจืขืกืืจืกื ืฆื ืืกืขืจืก, ืืืื ืขืก ืืขืจ ืกืงืึทืืึทืืืข ืืืขื ืขืก ืืื ื ืื ืืขืจ ืืึธืืกืืื. ืื ืจืึธืืข ืคืื โโWebRTC NAT ืืจืึทืืืขืจืกืึทื ืืึธ ืืื ืืืืขืจ ืืืืืืืง ืฆื ืคืึทืกืืืึทืืืื ืืึทื ืงืืงื -ืฆื-ืืึทื ืงืืงื ืคึฟืึทืจืืื ืืื ื ืื ืืืืึทืืืืืืฉืึทื ืืืืฃ ืืจืื-ืคึผืึทืจืืื ืกืืจืืืื ื ืจืขืกืืจืกื, ืืืื ืขืก ืืจืื ืืขืจ ืคึฟืึทืจ ืื ืืืฉืขืคืขืจ ืฆื ืคืึทืจืืื ืื ืฆื ืื ื ืขืฅ.
ืืืืืขื ืงืึทืืคึผืจืขืฉืึทื
ืืืืืขื ืงืึทืืคึผืจืขืฉืึทื ืืื ืึท ืื ืืืกืคึผืขื ืกืึทืืึทื ืืืื ืคืื ืื ืจืขืจื - ืืื ืืข ืืื ืงืึทื ืืจืืืืืฅ ืืืืขืจ ืฆื ืึท ืืืึทื ืืืืคื. ืืึธืืฉ ืขืก ืืื ื ืื ื ืืืืืง ืฆื ืืืืกื ืืขืืขืจ ืืขืืึทื ืคืื VP8/H264 ืืืืืขื ืงืึธืืืจืื ื, ืืืจ ืงืขื ืขื ืคึฟืึทืจืฉืืืื ืื ืงืึทื ืกืขืคึผืก ืฆื ืคึฟืึทืจืฉืืืื ืกืืจืืืื ื ืืืืืขื ืืืืงืืึทื ืึธืคึผืฆืืขืก, ืืืืึทืืื ื ืืืืืขืจืืื ื ืึทืืืจ ืืื ืกืืจืืืขืจื ืืืืืึทื ืกื.
ืงืึทืืคึผืจืขืกืื ื ืืืืืขื ืคึฟืึทืจ ืึท ืกืืจืืืื ื ืืื ืกื ืืื ืืฉืึทืืึทื ืืืฉืื ื ืืืืึทื ืื ืึทืืืขืจืืืึทื ืืืื ืขื ืฉืืจ ืึทื ืื ืืึทื ืฅ ืงืึธืืืจืื ื ืฆืืื + ื ืขืฅ ืืจืึทื ืกืืืกืืข ืฆืืื + ืืืงืึธืืืื ื ืฆืืื ืืื ืืื ื ืืืขืจืืง ืืื ืืขืืืขื. ืืื ืืขืจืฆื, ืื ืงืึธืืืจืื ื ืคึผืจืึธืฆืขืก ืืืื ืืืื ืงืึธื ืกืืกืืขื ื ืืื ืงืขืกืืืืขืจืืืง. ืขืืืขืืข ืงืึธืืืจืื ื ืืจืืืืึธืคืก ืืึธื ื ืื ืฆืืืืืื - ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืงืขื ืขื ื ืืฉื ืคืืืกืื ื ืืึทื ื ืงืึธืืืจืื ื ืฆืืื ืืืืขืจ ืงืืขื ืขืจืขืจ ืืขืงืข ืกืืืขืก ืืื ืืืงืึธืืืื ื ืฆืืื, ืึธืืขืจ ื ืืฆื ืกืชืืจื ืงืึทืืคึผืจืขืฉืึทื.
ืืขืจ ืืขืืึทื ืง ืืื ืืขืจ ืืืืืขื ืงืึทืืคึผืจืขืฉืึทื ืืื ืฆื ืขืืืืื ืืจื ืืื ืืืืืง ืืืื ืคืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืืึทืืื ืึท ืคึผืึทืกืืง ืืืจืื ืคืื ืึทืงืืขืจืึทืกื ืคึฟืึทืจ ืืืืขืจื. ืืื ืึทืืืฉืึทื ืฆื ืงืึธืืืจืื ื ืคืื ืืืื ืกืืึทืืืง ืืืื ืจืึธืืขื, ืื ืึทืืืขืจืืืึทื ืื ืคืขืจื ืื ืงืจืึทื ื ืจืึทื ืคืื ืื ืคืจืืขืจืืืงืข ืืื ืืืืึทืืขืจ ืึธื ืขืก, ืึทืืื ืืืืื ืืืืขืจ ืืืืืง ืืื ืืขืฉืืงื. ืืื ืงืขื ืขื ืืืื ืืขืืขื ืคืื ืืขื ืืืึทืฉืคึผืื ืืื ืคึผืึทืงืืึทื, ืืืืื ืืืคืขืจืขื ืืฉืึทื ืคืื ืงืื ืืขื ืขื ืืจืึทื ืกืืืืืขื.

ืคืึทืจืืืืึทื ืคืื ืืืืืขื ืจืึธืืขื ื ืืฆื ืคึผืึทืงืืึทื ืืื ืึท ืืืึทืฉืคึผืืืึทืืืืึธ ืงืึทืืคึผืจืขืฉืึทื
ืคึผืื ืงื ืึทืืื, ืื ืึทืืืืึธ ืงืึทืืคึผืจืขืฉืึทื ืึทืืืขืจืืืึทื ืืืฅ ืืึทืื ืืืึธืก ืงืขื ืขื ื ืื ืืืื ืืืืขืจืงื ืืืจื ืืืืึทื ื. Opus ืืื ืืขืจืืืืึทื ืืขืจ ืืขืกืืขืจ ืคึผืขืจืคืึธืจืืื ื ืึทืืืืึธ ืงืึธืืขืง. ืขืก ืืื ืืืืืื ื ืฆื ืึทืจืืืขืจืคืืจื ืึท ืึทืืืืึธ ืืืืึทืืืข ืืืืขืจ ืึท ืึธืจืืขืจื ืืึทืืึทืืจืึทื ืคึผืจืึธืืึธืงืึธื ืึทืืึท ืืื RTP (Real Time Transport Protocol). ืื ืืืืืึทื ืกื ืืื ื ืืืขืจืืงืขืจ ืืื mp3 ืืื ืึทืึทืง, ืืื ืื ืงืืืึทืืืืขื ืืื ืืขืืขืจ. ืื ืืืืืึทื ืกื ืืื ืืืืฉืึทืืืึทืื ืึทืจืื 5 ~ 66,5ืืก.
Pion, WebRTC ืืื Golang
ืืื ืึทื ืึธืคึฟื ืืงืืจ ืคึผืจืืืขืงื ืืืึธืก ืืจืขื ืื WebRTC ืฆื Golang. ืึทื ืฉืืึธื ืื ืืขืืืืื ืืืขื ืจืึทืคึผืื ื ืคืื ืืขืืืืจื C ++ WebRTC ืืืืืจืขืจืื, Pion ืืื ืึท ืืขืืืืจื Golang ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื WebRTC ืืื ืืขืกืขืจ ืคืึธืจืฉืืขืืื ื, Go ืื ืึทืืจืืืฉืึทื ืืื ืืืขืจืกืืข ืงืึธื ืืจืึธื ืืืืฃ WebRTC ืคึผืจืึธืืึธืงืึธืืก.
ืื ืืืืืืึธืืขืง ืืืื ืื ืืืืึทืื ืกืืจืืืื ื ืืื ืึท ืคึผืืึทืฅ ืคืื ืืจืืืก ืืขืืืื-ืื ืก ืืื ืกืึทื-ืจืืข ืืืืืึทื ืกื. ืขืก ืืื ืืืื ืืืืืขื ืข ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื STUN, DTLS, SCTP, ืขืืง. ืืื ืขืืืขืืข ืืงืกืคึผืขืจืึทืืึทื ืฅ ืืื QUIC ืืื WebAssembly. ืื ืึธืคึฟื ืืงืืจ ืืืืืืึธืืขืง ืืื ืืื ืึท ืืึทืงืข ืืื ืืขืจื ืขื ืืืื ืืื ืืืกืืขืฆืืืื ื ืืึทืงืืืืขื ืืืืฉืึทื, ื ืขืฅ ืคึผืจืึธืืึธืงืึธื ืืืคึผืืึทืืึทื ืฅ ืืื ืงืื ืืืืฉืคืืื.
ืื ืคึผืืึธื ืงืื, ืืขืคืืจื ืืืจื ืึท ืืืืขืจ ืืืึทืื ืฉืึทืคืืืขื ืืืฉืขืคืขืจ, ืืื ืืึทื ืฅ ืืขืืขืืืง, ืืื ืึท ืคึผืืึทืฅ ืคืื ืงืืืึทืืืืขื ืืืกืงืืกืืขืก ืืืขืื WebRTC. ืืืื ืืืจ ืืขื ื ืืื ืืขืจืขืกืืจื ืืื ืืขื ืืขืื ืึธืืึธืืืข, ืคืึทืจืืื ืื - ืืืจ ืืืขื ืืขืจื ืขื ืึท ืคึผืืึทืฅ ืคืื ื ืืึทืข ืืืื.
ืฉืจืืืื CloudRetro ืืื Golang

ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืึท ืึทืจืืขืืขืจ ืืื Goืืืื ืฆื ืืฉืึทื ืึทืื ืืื ืงืึทืืฃ
ืืึทื ืง ืฆื ืื ืฉืืื ืงืึทื ืึทื ืคึผืืึทื ืคืื Go, ืื ืคึผืจืึธืืืขืืก ืคืื ืกืืจืืืื ื ืืื ืงืึทื ืงืขืจืึทื ืก ืคืื ืืขืฉืขืขื ืืฉ ืืขื ืขื ืืืืขืจ ืกืืืคึผืืึทืคืืื. ืืื ืืื ืื ืืืึทืืจืึทืืข, ืคืึทืจืฉืืืขื ืข GoRoutines ืืึธืื ืงืืืคื ืงืึทืืคึผืึธืื ืึทื ืฅ ืคืืืกื ืืืง ืืื ืคึผืึทืจืึทืืขื. ืืขืืขืจ ืงืึธืืคึผืึธื ืขื ื ืืึทื ืืืืฉืื ืืืื ืฉืืึทื ืืื ืงืึทืืืื ืึทืงืืืฅ ืืืจื ืืฉืึทื ืึทืื. Golang ืก ืกืขืืขืงืืืื ืืึทืฉืืขืืืงื ืคืึธืจืกืขืก ืืืื ืึทืืึธืืืฉืข ืืขืฉืขืขื ืืฉ ืฆื ืืืื ืคึผืจืึทืกืขืกื ืืขืืขืจ ืืึธื ืืื ืื ืฉืคึผืื (ืฉืคึผืื ืืืงืขื). ืืขื ืืืื ืึทื ืงืืื ืืึทืงืื ื ืืื ืืืจืฃ ืคึฟืึทืจ ืืขื ืคึผืืึทื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืขื ืึท ืืึทื ืืฆืขืจ ืกืึทืืืขืก, ืึท ืคืื ืืึธืืขื ืืืืื ืคืื ืื ืฉืคึผืื ืฉืืึทื ืืื ืคืืจืืื ืื. ืืขืจ ืฉืืึทื ืืึธื ืืืืึทืื ืงืขืกืืืืขืจืืืง, ืืึธืืื ื ืืื ืืื ืื ืฉืคึผืึธืจื ืืื ืืึทื ืฅ. ืืขืฉืึทืก ืืขืืขืจ ืฉืคึผืื ืืืงืขื, ืื ืืึทืงืขื ื ืงืขื ืขื ืืืืื ืฉืขืคึผื ืึท ืฉืคึผืึธืจื ืึธืืขืจ ืึทืจืืึทื ืฉืจืืึทื ืึธืคึผืขืจืึทืฆืืข, ืืืื ืืขื ืคึผืจืึธืฆืขืก ืคืึธืืขื ืืืืขืจ.
func (e *gameEmulator) gameUpdate() { for { select { case <-e.saveOperation: e.saveGameState() case key := <-e.input: e.updateGameState(key) case <-e.done: e.close() return } } }ืคืึทื-ืืื / ืคืึทื-ืืืืก
ืืขื ืืึธืืึทื ื ืืืกืืขืจ ืืื ืคึผืึทืกืืง ืคึฟืึทืจ ืืืื CrowdPlay ืืื Multiple Player ื ืืฆื ืคืึทื. ื ืึธื ืืขื ืืืกืืขืจ, ืึทืืข ืืึทื ืืฆืขืจ ืื ืคึผืืฅ ืืื ืืืื ืฆืืืขืจ ืืขื ืขื ืืขืืืื ืืื ืื ืืืืคื ืึทืจืืึทื ืืึทื ื ืงืึทื ืึทื. ืฉืคึผืื ืืืืืึท ืืื ืืึทื ืืืคึผืืืื ืฆื ืึทืืข ืืืืขืจื ืืื ืื ืืขืืืข ืคึผืืึทืฅ. ืืื ืืขื ืืืขื, ืืืจ ืืขืจืืจืืืื ืื ืึธืคึผืืืื ืคืื ืื ืฉืคึผืื ืฉืืึทื ืฆืืืืฉื ืขืืืขืืข ืฉืคึผืื ืกืขืฉืึทื ื ืคืื ืคืึทืจืฉืืืขื ืข ื ืืฆืขืจืก.

ืกืื ืืงืจืึทื ืึทืืืืฉืึทื ืฆืืืืฉื ืคืึทืจืฉืืืขื ืข ืกืขืฉืึทื ืืืืกืึทืืืืึทื ืืืืืฉืื ืคืื ืืึธืืึทื ื
ืืึธืืึทื ื ืืื ื ืืฉื ืืื ืฅ. ืืขืจ ืงืึทื ืึทื ืืื ืคึผืึทืืขืืขื. ืงืึทืืคึผืขืจื ืฆื ืืืึทืงืื ื, Go ืงืึทื ืึทื ืืื ืคืฉืื ืึท ืืจืื ืืขืจ ืืืขื ืฆื ืืึทื ืืืขื ืืื ืงืึทื ืงืขืจืึทื ื ืืื ืืจืขืืื ืืขืฉืขืขื ืืฉื, ืึธืืขืจ ืงืึทื ืึทื ืืื ื ืืฉื ืฆืืฉืืขืื ืื ืืขืกืืขืจ ืคืึธืจืฉืืขืืื ื. ืขืก ืืื ืงืึธืืคึผืืขืงืก ืืืึทืงืื ื ืืึธืืืง ืืื ืืขืจ ืืขื ืงืึทื ืึทื. ืึทืืื ืืื ืืขืืืื ืขืืืขืืข ืึทืืืฉืึทืกืืืึทื ืฅ ืฆื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื, ืจืืึทืคึผืคึผืืืืื ื ืืึทืงืก ืืื ืึทืืึธืืืฉืข ืืืึทืืืขืก ืืืขื ืจืืคึผืืืืกืื ื ืืฉืึทื ืึทืื ืฆื ืึทืคึผืืึทืืืื ืคืึธืจืฉืืขืืื ื.
ืืื ืืขืจืฆื, ืื ืืืกื ืงืึทืืขืงืืขืจ ืืื ืืึธืืึทื ื ืืื ืึทื ืืึทื ืืืืฉื, ืืืึธืก ืืื ื ืกืึทืกืคึผืืฉืึทืกืื ืืึทื ื ืคึผืึธืืึทื. ืืึธืก ืืื ืืืืขืจ ืื ืืขืจืคืืจื ืืื ืื ืคืึทืงืืืฉ-ืฆืืื ืกืืจืืืื ื ืึทืคึผืืึทืงืืืฉืึทื.
ืงืืึธ
ืื ืคึผืจืืืขืงื ื ืืฆื ืื ืืืืืกืืื ื ืึธืคึฟื ืืงืืจ Golang VP8 / H264 ืืืืืืึธืืขืง ืคึฟืึทืจ ืืืืืึท ืงืึทืืคึผืจืขืฉืึทื ืืื Libretro ืคึฟืึทืจ ืฉืคึผืื ืขืืืืึทืืึธืจืก. ืึทืืข ืื ืืืืืจืขืจืื ืืขื ืขื ืคืฉืื ืจืึทืคึผืขืจื ืคืื ืื C ืืืืืืึธืืขืง ืืื Go . ืขืืืขืืข ืคืื โโืื ืืืกืึทืืืืึทื ืืืืืฉืื ืืขื ืขื ืืืกืืขื ืืื . ืคึผืจืึธืืืขืืก ืืื ืืขืคึผืืึธื ืืขืจื:
- ืื ืึทืืืืืื ืฆื ืืึทืคึผื ืึท ืงืจืึทื ืืื CGO, ืืคืืื ืืื Golang RecoveryCrash;
- ืืืจืืคืึทื ืฆื ืืืขื ืืืคืืฆืืจื ืคืึธืจืฉืืขืืื ื ืืึทืืึทืื ืขืงืก ืืืขื ืืืจ ืงืขื ืขื ื ืืฉื ืืขืืขืงื ืืืืืืื ืคึผืจืึธืืืขืืก ืืื ืงืืึธ.
ืกืึธืฃ
ืืื ืืขืจืืจืืืื ืืืื ืฆืื ืฆื ืคึฟืึทืจืฉืืืื ืืืึธืืงื ืืืืืื ื ืืึทืืื ืื ืืก ืืื ืฉืึทืคึฟื ืึท ืคึผืืึทืืคืึธืจืืข ืืืึธืก ืืขืืคึผืก ืืืจ ืฉืคึผืืื ืคืึทืจืืขื ืงื ืจืขืืจืึธ ืฉืคึผืืืขืจืืึท ืืื ืืืื ืคืจืขื ืื ืึธื ืืืื. ืืขืจ ืืึธืืืงืขืจ ืคึผืจืึธืืขืงื ืืืึธืื ื ืืฉื ืืขืืืขื ืืขืืืขื ืึธื ืืขืจ ืคึผืืึธืึพืืืืืืึธืืขืง ืืื ืื ืฉืืืฆื ืคึฟืื ืืขืจ ืคึผืืึธืึพืงืืืื. ืืื ืืื ืืึธืจ ืืึทื ืงืืึทืจ ืคึฟืึทืจ ืืืึทื ืืื ืืขื ืกืืืืข ืึทื ืืืืืงืืื ื. ืื ืคึผืฉืื ืึทืคึผืืก ืฆืืืขืฉืืขืื ืืืจื WebRTC ืืื Pion ืื ืฉืืจื ืกืืืืึทืก ืื ืึทืืจืืืฉืึทื. ืืืึทื ืขืจืฉืืขืจ ืืขืจืืืืึทื ืคืื ืืึทืืจืืฃ ืืื ืืืคืจืืื ืืื ืืขืจ ืืขืืืืงืขืจ ืืืึธื, ืืึธืืฉ ืืื ืืื ืงืืื ืคืจืืขืจืืืง ืืืืกื ืคืื ืคึผืืจ-ืฆื-ืืึทื ืงืืงื (P2P) ืงืึธืืื ืืงืึทืฆืืข.
ืืจืึธืฅ ืื ืื ืคืื ืื ืึทืืจืืืฉืึทื, P2P ืกืืจืืืื ื ืืื ืืึทืงืข ืึท ืืืืขืจ ืงืึธืืคึผืืขืงืก ืืขืื ื ืืื ืงืึธืืคึผืืืืขืจ ืืืืกื ืฉืึทืคึฟื. ืื ืืื ืฆื ืืึทื ืืืขื ืืื ืื ืงืึทืืคึผืืขืงืกืืื ืคืื ืืึทื ื-ืฉืืืืขื ืืืง ื ืขืฅ ืึทืจืงืึทืืขืงืืฉืขืจื ืึทืืึท ืืื IP ืืื NAT ืฆื ืฉืึทืคึฟื ืึท ืืึทื ืงืืงื -ืฆื-ืืึทื ืงืืงื ืกืขืกืืข. ืืฉืขืช ืืื ืึทืจืืขื ืืืืฃ ืืขื ืคึผืจืืืขืงื, ืืื ืคืืจืืื ื ืึท ืคึผืืึทืฅ ืคืื ืืืขืจืืคืื ืืืืกื ืืืขืื ื ืขืืืืึธืจืงืื ื ืืื ืคืึธืจืฉืืขืืื ื ืึทืคึผืืึทืืึทืืืืฉืึทื, ืึทืืื ืืื ืืืืืงื ืึทืืขืืขื ืฆื ืคึผืจืืืืจื ืฆื ืืืืขื P2P ืคึผืจืึธืืืงืื ื ืืฆื WebRTC.
CloudRetro ืืื ืึทืืข ืื ื ืืฆื ืงืึทืกืขืก ืืืึธืก ืืื ืืขืจืืืึทืจื ืคึฟืื ืืืื ืคึผืขืจืกืคึผืขืงืืืื ืืื ืึท ืจืขืืจืึธ ืืืืืขืจ. ืึธืืขืจ, ืืื ืืจืึทืืื ืขืก ืืขื ืขื ืคืืืข ืืขืืืื ืืื ืื ืคึผืจืืืขืงื ืืืึธืก ืืื ืงืขื ืขื ืคึฟืึทืจืืขืกืขืจื, ืึทืืึท ืืื ืืึทืื ืื ื ืขืฅ ืืขืจ ืคืึทืจืืึธืืืขื ืืื ืคึผืขืจืคืึธืจืืื ื, ืฆืืฉืืขืื ืืขืืขืจ ืงืืืึทืืืืขื ืฉืคึผืื ืืจืึทืคืืงืก ืึธืืขืจ ืื ืคืืืืงืืื ืฆื ืืืืื ืฉืคึผืืืขืจืืึท ืฆืืืืฉื ืืืืขืจื. ืืื ืึทืจืืขื ืฉืืืขืจ ืืืืฃ ืืขื. ืืืืข ื ืึธืืคืึธืืื ืืื ืฉืืืฆื ืขืก ืืืื ืืืจ ืืื ืขืก.
ืืงืืจ: www.habr.com
