viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec8ffa11d0283137a147df66c0ff0e9ff48d5b5d7d56d2581fa5d4cf9658172e9c15a3ceaffed74810f0c7acfa24cf930eea598d90ff


๋ฐฐ๊ฒฝ ์ง€์‹์„ ๋˜์ƒˆ๊น€์งˆ ํ•ด๋ณด์ž..

๋ณดํ†ต ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ์ƒํƒœ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด์„  ์™ธ๋ถ€ ํ”„๋กœ์„ธ์Šค์™€ ํ†ต์‹ ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š”๋ฐ

OS ์—์„  ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ๋ฆฝํ„ฐ ์ธํ„ฐํŽ˜์ด์Šค ๋“ฑ์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค..

์—ฌ๊ธฐ์„œ ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋ž‘ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์ฃผ์†Œ ์ •๋ณด์™€ ํ•จ๊ป˜ ์†Œ์ผ“ ๋””์Šคํฌ๋ฆฝํ„ฐ๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค..

์†Œ์ผ“์„ ์ด์šฉํ•œ ํ†ต์‹ ์€ ๋Œ€ํ‘œ์ ์œผ๋กœ HTTP ๋ฅผ ํ†ตํ•ด 1ํšŒ์„ฑ ์„ธ์…˜์„ ๋งŒ๋“ค์–ด์„œ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋กœ๋ถ€ํ„ฐ ์ •ํ•ด์ง„ ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ค๊ฑฐ๋‚˜

์•„๋‹ˆ๋ฉด TCP, UDP ๋ฅผ ํ†ตํ•ด Keep alive ํ˜•์‹์œผ๋กœ ์—ฐ์‡„๋œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค..

์ด๊ฑธ ํ™œ์šฉํ•˜๋ฉด ๊ฒŒ์ž„์—์„œ ๋Œ€๋žต ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์„ ๊ตฌ์„ฑ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ..


REST: ์ฃผ์†Œ๋กœ ๋…ธ์ถœ๋œ ํŠน์ • ์ž์›์— ์ ‘๊ทผํ•จ

์›น์†Œ์ผ“: TCP ๋ฅผ ํ†ตํ•ด HTTP ๋ฌธ์„œ๋ฅผ Keep-alive ํ˜•์‹์œผ๋กœ ์ฃผ๊ณ ๋ฐ›์•„ HTTP ๋ ˆ์ด์–ด์—์„œย ์„ธ์…˜์„ ์œ ์ง€

RPC: TCP, UDP ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐํ•œํ…Œ ํŠน์ • ํ”„๋กœ์„ธ์Šค์— ์–ด๋–ค ๋กœ์ง์„ ์—ด์–ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญ ํ›„ ์‘๋‹ต์„ ๋ฐ›์Œ.ย 

์š”์ฒญ ์ธก์—์„œ๋Š” ๋กœ์ง์˜ ์‹œ๊ทธ๋‹ˆ์ณ๋งŒ ์ธ์ง€ํ•˜๊ณ  ์žˆ์Œ.


์œ ๋‹ˆํ‹ฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ํŒจํ‚ค์ง€๋ฅผ ์•Œ์•„๋ณด์ž

์œ ๋‹ˆํ‹ฐ์—์„œ๋Š” HttpClient ๊ฐ€ ๊ฐ•์ œ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ตณ์ด ์›น์†Œ์ผ“์„ ์“ธ ์ด์œ ๊ฐ€ ์—†๋‹ค..

ํ†ต์‹ ํ•˜๊ณ ์ž ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ ์†Œ์ผ“์„ ์—ฐ๊ฒฐํ•ด์„œ ํ†ต์‹ ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค..

๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ ์œ ๋‹ˆํ‹ฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ํŒจํ‚ค์ง€์˜ ๋ชจ์Šต์€

์„œ๋ฒ„๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ตœ๋Œ€ํ•œ ๋ฐฐ์ œํ•˜๋ฉฐ

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ์ถ”๊ฐ€๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ๋‚ด GameObject ์˜ Behaviorย ๊ฐ์ฒด๋“ค์— ๋Œ€ํ•ด์„œ

๋™๊ธฐํ™”ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ NetworkBehavior ๋กœ ์ •์˜ํ•˜์—ฌย 

ํ•ด๋‹น ๊ฐ์ฒด๋Š” ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ํ†ตํ•œ ๋ณด๊ฐ„ + ๋„คํŠธ์›Œํฌ์˜ ๊ฐ’์ด ๋ฐ˜ํ™˜๋˜๋ฉด ๋™๊ธฐํ™”ย ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ์ž…์žฅ์—์„  ๋งค์šฐ ๋‹จ์ˆœํ•˜๊ณ  ์œ ์šฉํ•ด๋ณด์ด์ง€๋งŒ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ณ ๋ฏผํ•ด๋ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

- ๊ฒŒ์ž„์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ƒ ๋ณด์•ˆ ์ด์Šˆ๊ฐ€ ์—†๋Š”์ง€.. (ex: ํŠน์ • ์ƒํƒœ์—์„œ๋งŒ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋Š” ๋กœ์ง์„ ํด๋ผ์ด์–ธํŠธ ๋ณ€์กฐ๋ฅผ ํ†ตํ•ด ๋ง˜๋Œ€๋กœ ์‚ฌ์šฉํ•œ๋‹ค.)

- Network ๊ฐ์ฒด๋“ค์˜ Life cycle์€ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ.. (์–ธ์ œ ์ƒ์„ฑ๋˜๊ณ , ์–ธ์ œ ์†Œ๋ฉธํ•˜๋‚˜? ์˜ˆ์™ธ๋Š” ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋‚˜? ์˜์กด์„ฑ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ ๋ฆญ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์„๊นŒ?)

- ๋™๊ธฐํ™”์— ์ง‘์ค‘๋œ ํ†ต์‹ ์ธ ๋งŒํผ, ๋Œ€์—ญํญ ์„ฑ๋Šฅ์€ ์–ด๋–จ์ง€.. (ex:ย ์ธ๋ฒคํ† ๋ฆฌ๋‚˜ ์บ๋ฆญํ„ฐ ์ •๋ณด์™€ ๊ฐ™์ด, ์ฝ๊ธฐ ์ „์šฉ ๋ฐ์ดํ„ฐ์ด๋ฉฐ ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด์— ๊ด€๊ณ„์—†๋Š” ์ •๋ณด๋Š” ๋ณ„๋„๋กœ HttpClient ๋ฅผ ์ •์˜ํ•ด์„œ ๋น„๋™๊ธฐ๋กœ ๊ฒŒ์œผ๋ฅด๊ฒŒ ๊ฐฑ์‹ ํ•˜๊ฒŒ ๋‚˜๋ˆ ์ฃผ๋ฉดย ๋™๊ธฐํ™” ์„ฑ๋Šฅ์ด ๋” ์ข‹์•„์งˆ ๋“ฏ ํ•˜๋‹ค.)


๊ฒŒ์ž„์˜ ์›Œํฌํ”Œ๋กœ์šฐ์— ๋Œ€ํ•œ ๋™๊ธฐํ™”๋Š” ๊ฐ ํŒจํ‚ค์ง€๋งˆ๋‹ค Manager ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ ์ด๊ฑธ ์ด์šฉํ•ด์„œ ํ•ด์•ผํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค..


์œ ๋‹ˆํ‹ฐ์—์„œ ๋Œ€์ค‘์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ํŒจํ‚ค์ง€๋Š” 3๊ฐœ๋กœ


Unity MLAPI: ์ƒˆ๋กœ ๋งŒ๋“  ์˜คํ”ผ์…œ ํŒจํ‚ค์ง€

ย  - ์ง€๋“ค ์„ค๋ช…์œผ๋ก  ๋‹ค๋œ๋‹ค๋Š”๋ฐ ์ถ”์ธก์ปจ๋ฐ ์ ˆ๋Œ€ ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™๋‹ค.

ย  ย  - ๋‚˜์˜จ์ง€ ์–ผ๋งˆ ์•ˆ๋ฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ย  - ๊ทธ๋ž˜์„œ ์•„์ง ๋ฌธ์„œ๋Š”ย ์•ˆ์ฝ์–ด๋ด„


Mirror: UNet ์ด deprecated ๋˜๋ฉด์„œ ์ด๋ฅผ ํฌํฌํ•ด์„œ ๋งŒ๋“ค์–ด๋‚ธ ์˜คํ”ˆ์†Œ์Šคย ํŒจํ‚ค์ง€

ย  - ํด๋ผ์ด์–ธํŠธ ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐ ํ”Œ๋ ˆ์ด ํ™˜๊ฒฝ์„ ๊ธฐ๋Œ€ํ•˜์—ฌ ๋งŒ๋“  ํŒจํ‚ค์ง€

ย  ย  - P2P, Host (Listen) ์„œ๋ฒ„ ํ˜•์‹

ย  ย  - ๋™๊ธฐํ™” ๋Œ€์ƒ ๊ฐ์ฒด๋ฅผ ๋ฐ”์ธ๋”ฉํ•ด์„œ RPC, SyncVar ๊ธฐ๋ฒ•์œผ๋กœ ๋™๊ธฐํ™”ํ•œ๋‹ค(?)

ย  ย  - ํ”Œ๋žซํผ๋ณ„ RUDP ์ŠคํŽ™์˜ ํ”„๋กœํ† ์ฝœ ์ง€์›ํ•จ

ย  ย  - ์„œ๋ฒ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋ฐ๋””์ผ€์ดํŒ… ํ•˜๋Š”๊ฒŒ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง„ ์•Š์Œ

ย  - ํŠœํ† ๋ฆฌ์–ผ์„ ๋ช‡๊ฐœ ๋Œ๋ ค๋ณด๋‹ˆ ํฌํ†ค์— ๋น„ํ•ด ๋ฐฐํฌ, ์ž๋™ํ™”๊ฐ€ ๊นŒ๋‹ค๋กœ์šธ ๊ฒƒ ๊ฐ™๋‹ค.


Photon:ย 

ย  - ๋‘ย ํŒจํ‚ค์ง€ (BOLT ์™€ PUN) ๊ฐ€ ์ง€์›๋œ๋‹ค. ๋‘˜์„ ๋น„๊ตํ•˜๋Š” ํŽ˜์ด์ง€๊ฐ€ ์žˆ๋‹ค:ย https://doc.photonengine.com/ko-kr/pun/current/reference/pun-vs-bolt

ย  ย  - PUN: ์ง๋ ฌํ™” ๋ชจ๋ธ์˜ ์ƒ์„ฑ (ProtoBuf ๊ฐ™์€๊ฑด๊ฐ€?) ๊ณผ RPC ํ˜ธ์ถœ์„ ์ค‘์‹ฌ์œผ๋กœ ๋ฐฐํฌ๊ฐ€๋Šฅํ•œ ์„œ๋ฒ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด๋ฅผ ์—ฐ๊ฒฐ

ย  ย  - BOLT: ๋™๊ธฐํ™” ๊ธฐ๋ฒ•์ž์ฒด๋Š” PUN ๊ณผ ๋‹ค๋ฅด์ง€ ์•Š์Œ.ย 

ย  ย  ย  ย - ์„ธ์…˜๊ฐ„ High performance ๋ฅผ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค๊ณ  ์†Œ๊ฐœํ•˜๊ณ  ์žˆ๋‹ค.

ย  ย  ย  ย  ย - P2P, Host ์„œ๋ฒ„ ํ˜•์‹

ย  ย  ย  ย  ย - ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜๋Š” ํŒจํ‚ค์ง€


๊ฒฐ๋ก :

ย - ๊ฐ€๋ณ๊ณ , ๋™๊ธฐํ™” ๋ชฉ์ ์˜ ์„ฑํ–ฅ์„ ๊ฐ€์ง€๋Š” ํ†ต์‹ ์— ๋Œ€ํ•ด์„œ ์œ ๋‹ˆํ‹ฐ์—์„œ ์ œ๊ณตํ•˜๋Š” RPC ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜์ž.

ย  - ์œ ์ € ์ •๋ณด๋Š” ์›น ์„œ๋น„์Šค ํ˜•์‹์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์ ํ•ฉํ•ด๋ณด์ธ๋‹ค.

ย - ์›ํ•˜๋Š” ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ๋ชจ๋ธ์— ๋”ฐ๋ผ ๊ฐ ํŒจํ‚ค์ง€๋ฅผ ํ™œ์šฉํ•ด๋ณด์ž.

ย  - P2P, Host ์„œ๋ฒ„: Mirror, Bolt

ย  - Dedicated ์„œ๋ฒ„: PUN


๋” ์•Œ์•„๋ณด๊ณ  ์‹ถ์€ ๊ฒƒ:

ย - Mirror ์™€ Bolt ์˜ ์ŠคํŽ™ ๋น„๊ต

ย - Bolt API์™€ PUN API ๋Š” ์œ ์‚ฌํ• ๊นŒ? (์™ ์ง€ ๊ทธ๋Ÿด ๊ฒƒ ๊ฐ™๋‹ค.)

ย - Analytics ์„œ๋ฒ„๋Š” ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๊นŒ