201010365 ์ตœ์ข…์›
- 1 -
์ œ์ถœ์ผ์ž : 2015-12-09
์ˆ˜ํ•™๊ณผ 201010365 ์ตœ์ข…์›
๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ตœ์ข… ๋ณด๊ณ ์„œ
201010365 ์ตœ์ข…์›
- 2 -
โšซ๊ฐœ์š”
1. ๋ถ„์„๋‹จ๊ณ„
โšซ ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„
โšซ ๋ฐ์ดํ„ฐ ๋ถ„์„
โšซ ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„
โšซ ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€
2. ์„ค๊ณ„๋‹จ๊ณ„
โšซ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
โšซ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„
- ๊ฒŒ์ž„ ์ „์ฒด ํ”„๋กœ์„ธ์Šค
- ๊ฒŒ์ž„ ์ „์ฒด ํ”„๋กœ์„ธ์Šค์— ํ•„์š”ํ•œ ํ†ต์‹ ์š”์†Œ
- ๋งค์นญ ์„œ๋ฒ„
- ์˜ค๋ฅ˜ ๋Œ€์‘
- ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€
- ๊ฒŒ์ž„์„œ๋ฒ„ ์—ฐ๊ฒฐ
- ํ”Œ๋ ˆ์ด์–ด ๊ธ€๋กœ๋ฒŒ ID ๋ฐ ๋กœ์ปฌ ID
- ์บ๋ฆญํ„ฐ ์ด๋™ ๋””์ž์ธ
- ํˆฌ์‚ฌ์ฒด ์ด๋™ ๋””์ž์ธ
201010365 ์ตœ์ข…์›
- 3 -
3. ๊ตฌํ˜„๋‹จ๊ณ„
โšซ ์œ ๋‹ˆํ‹ฐ ํ•จ์ˆ˜
โšซ ์นด๋ฉ”๋ผ
โšซ ๋„คํŠธ์›Œํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
โšซ ์Šค๋ ˆ๋“œ ์‚ฌ์šฉ
โšซ ์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ ๋ฐ ๋””์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ
โšซ ํŒจํ‚ท ์ „๋‹ฌ ๊ณผ์ •
โšซ ์„ธ์…˜ ๊ด€๋ฆฌ
โšซ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ
โšซ C# ์ฝ”๋”ฉ ๊ธฐ๋ฒ•
4. ์ฐธ๊ณ  ๋ฌธํ—Œ
5. ๊ฒŒ์ž„ ์Šคํฌ๋ฆฝํŠธ ๋ชฉ๋ก
6. ์ฐจํ›„ ์ง„ํ–‰์‚ฌํ•ญ
โšซ ๊ฐœ๋ฐœํ™˜๊ฒฝ
โšซ ๊ฐœ์„ ์‚ฌํ•ญ
7. ์‹คํ–‰ํ™”๋ฉด ์บก์ณ
201010365 ์ตœ์ข…์›
- 4 -
1. ๋ถ„์„๋‹จ๊ณ„
โšซ ์š”๊ตฌ์‚ฌํ•ญ๋ถ„์„
- ํ˜„์žฌ ๊ฒŒ์ž„ ํ˜„ํ™ฉ ํŒจํ„ด ์ˆ˜์ง‘
ํผ์ฆ ๋˜๋Š” ๋Ÿฐ(Run) ๋“ฑ ๊ฒŒ์ž„ ๋ฐฉ์‹์ด ๊ฐ„๋‹จํ•œ ์ˆœ์œ„ํ˜• ๊ฒŒ์ž„
์นด๋“œ๋‚˜ ์บ๋ฆญํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•œ ๋’ค ์ „ํˆฌ๋ฅผ ํ•˜๋Š” ๊ฒŒ์ž„
์ž์‹ ์˜ ์š”์ƒˆ๋‚˜ ์„ฑ์„ ์Œ“๊ณ  ์„œ๋กœ ๊ณต๊ฒฉํ•˜๋Š” ๊ฒŒ์ž„
์ž์‹ ์˜ ์†Œ์œ ๋ฌผ์„ ๊ฒฝ์˜ํ•˜๋Š” ๊ฒŒ์ž„
์Šคํฌ์ธ  ๊ธฐ๋ฐ˜ ์ˆ˜์ง‘ ๊ฒŒ์ž„
=> ํ˜„์žฌ ๋‚˜์˜ค๋Š” ๊ฐ„๋‹จํ•œ ๊ฒŒ์ž„ ํŒจํ„ด์ด ์•„๋‹Œ ์˜จ๋ผ์ธ ์ŠˆํŒ…๊ฒŒ์ž„์„ ์„ ํƒํ•œ๋‹ค.
- ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ 
TCP/IP, UDP ํ”„๋กœํ† ์ฝœ
ํƒ€์ž„์•„์›ƒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
๋น„๋™๊ธฐ ๋ฐฉ์‹
์˜ค๋ฅ˜ ํ†ต์ง€
- ํด๋ž˜์Šค ๋ ˆํผ๋Ÿฐ์Šค ํ…Œ์ด๋ธ”
์ŠˆํŒ…๊ฒŒ์ž„ ์˜คํ”ˆ์†Œ์Šค ์ฐธ๊ณ 1)
ํ•œ ํ•™๊ธฐ ๋™์•ˆ ๋ฐฐ์šด ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์„ ์ด์šฉํ•˜์—ฌ ํ•œ ๋•Œ ์œ ํ–‰ํ–ˆ๋˜ ํ„ด
์ œ ์ŠˆํŒ… ๊ฒŒ์ž„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋น„๋™๊ธฐ ๋ฐฉ์‹์˜ ์‹ค์‹œ๊ฐ„ ์ŠˆํŒ… ๊ฒŒ์ž„์„ ๋งŒ๋“ ๋‹ค.
โšซ ์Šน๋ฆฌ์กฐ๊ฑด ๋ฐ ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜ :
- ํ„ด์ œ ์ „๋žต ์ŠˆํŒ… ๊ฒŒ์ž„์„ ๋ฒ—์–ด๋‚˜ ๋น„๋™๊ธฐ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•œ๋‹ค.
- ์ƒ๋Œ€๊ฐ€ ์ปจํŠธ๋กค ํ•˜๋Š” ๋ชจ๋“  ์บ๋ฆญํ„ฐ์˜ ์ฒด๋ ฅ์„ 0์œผ๋กœ ๋งŒ๋“ค๋ฉด ์Šน๋ฆฌํ•œ๋‹ค.
- ์บ๋ฆญํ„ฐ ๋ฐ object๋Š” ๋งต ์œ„์— ์žˆ์œผ๋ฉฐ ์ค‘๋ ฅ ์—”์ง„์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค.
- ์บ๋ฆญํ„ฐ๋Š” object์˜ ์ด๋ฒคํŠธ๋กœ ํ”ผํ•ด๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
- ์ ํ”„๋ฅผ ์ตœ๋Œ€ ๋‘ ๋ฒˆ๊นŒ์ง€ ํ•  ์ˆ˜ ์žˆ๋‹ค.
1) http://hedgewars.org/kb/?mode=list
201010365 ์ตœ์ข…์›
- 5 -
โšซ ๋ฐ์ดํ„ฐ ๋ถ„์„
ํ”Œ๋ ˆ์ด ํŒจํ„ด
- ํ‰๊ท  5๋ถ„ ๋‚ด์™ธ์˜ ์„ธ์…˜ ํƒ€์ž„
- ๋น„๋™๊ธฐ ์ „๋žต ์ŠˆํŒ…๊ฒŒ์ž„
โšซ ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„
- ์ผ๋ฐ˜์ ์ธ ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ํ๋ฆ„๋„
โšซ ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€
์ž๋ฃŒ์กฐ์‚ฌ : ๊ฒŒ์ž„์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ† ํด๋กœ์ง€
โšซ ์Šคํƒ€ํ˜•
- ์žฅ์  : ์ •๋ณด๊ฐ€ ์„œ๋ฒ„์— ์ง‘์ค‘๋˜์–ด ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์‰ฝ๋‹ค
- ๋‹จ์  : ์„œ๋ฒ„๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ฒฝ์œ ํ•˜๋ฏ€๋กœ ํ†ต์‹  ์ง€์—ฐ์ด ๋ฐœ์ƒํ•œ๋‹ค.
์„œ๋ฒ„์˜ ๋ถ€ํ•˜๊ฐ€ ํฌ๋‹ค
์„œ๋ฒ„๊ฐ€ ๋Š๊ธฐ๋ฉด ๋ชจ๋“  ํ†ต์‹ ์ด ๋‘์ ˆ๋œ๋‹ค.
โšซ ๋ฉ”์‹œํ˜•
- ์žฅ์  : ๋‹จ์ ˆ์˜ ๋‚ด์„ฑ์ด ๊ฐ•ํ•˜๋‹ค.
- ๋‹จ์  : ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๋‹จ๋ง์˜ ํ†ต์‹ ์ด ์ง€์—ฐ๋œ๋‹ค.
โšซ ํ’€๋ฉ”์‹œํ˜•
- ์žฅ์  : ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ์„œ๋กœ ์ ‘์†ํ•˜์—ฌ ๋™์‹œ์— ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹จ์ ˆ์˜ ๋‚ด์„ฑ์ด ๊ฐ•ํ•˜๋‹ค
- ๋‹จ์  : ํ†ต์‹ ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜๊ณ  ๋‹จ๋ง์˜ ๊ด€๋ฆฌ๊ฐ€ ๋ณต์žกํ•˜๋‹ค.
๊ฒŒ์ž„์„ค์น˜
์—…๋ฐ์ดํŠธ
๊ฒŒ์ž„์‹œ์ž‘
๊ฒŒ์ž„์‹คํ–‰ ํŒจ์น˜์„œ๋ฒ„
๋กœ๋น„์„œ๋ฒ„๊ฒŒ์ž„์„œ๋ฒ„
201010365 ์ตœ์ข…์›
- 6 -
2. ์„ค๊ณ„๋‹จ๊ณ„
์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
- ๊ธฐ๋ณธ ํ‹€์€ ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„์˜ ์ผ๋ฐ˜์ ์ธ ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ํ๋ฆ„๋„๋ฅผ ๋”ฐ๋ฅธ๋‹ค.
- ๋กœ๋น„์„œ๋ฒ„๋Š” ์ ‘์†ํ•œ ์‚ฌ๋žŒ๋“ค์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹ค๋ฃฌ๋‹ค.
- ํด๋ผ์ด์–ธํŠธ ์ค‘ ํ•˜๋‚˜๋ฅผ ํ˜ธ์ŠคํŠธ๋กœ ๋งŒ๋“ค์–ด ๊ฒŒ์ž„์„œ๋ฒ„์˜ ์—ญํ• ์„ ํ•œ๋‹ค.
- ํ˜ธ์ŠคํŠธ ์•ˆ์— ๋กœ์ปฌ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์™€ ํ†ต์‹ ํ•˜๊ฒŒ ํ•œ๋‹ค.
- ๋กœ๋น„์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋“ค์ด ํ†ต์‹  ํ•˜๋‹ค๊ฐ€ ๊ฒŒ์ž„์ด ์‹œ์ž‘๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋“ค๊ณผ
ํ˜ธ์ŠคํŠธ์‚ฌ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•œ๋‹ค.
์„œ๋ฒ„
socket()
bind()
listen()
accept()
send()
recv()
ํด๋ผ์ด์–ธํŠธ
socket()
connect()
send()
recv()
close()
ํด๋ผ์ด์–ธํŠธ
๋กœ๋น„์„œ๋ฒ„
๊ฒŒ์ž„์„œ๋ฒ„
(HOST)
๊ฒŒ์ž„์‹œ์ž‘
201010365 ์ตœ์ข…์›
- 7 -
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„
โšซ ๊ฒŒ์ž„ ์ „์ฒด์˜ ํ”„๋กœ์„ธ์Šค
๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•˜๋ฉด ํ•จ๊ป˜ ํ”Œ๋ ˆ์ดํ•  ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์—ฌ๋Ÿฌ ๋ช… ์ ‘์†ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งค
์นญ ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋งค์นญ ์„œ๋ฒ„์— ์ ‘์†ํ•˜์—ฌ ๋งค์นญํ•  ํ”Œ๋ ˆ์ด์–ด๋ฅผ
์ฐพ๋Š”๋‹ค.
๋งค์นญ์ด ๋๋‚˜๋ฉด ํ•จ๊ป˜ ํ”Œ๋ ˆ์ด ํ•  ํ”Œ๋ ˆ์ด์–ด์™€ ์ ‘์†ํ•˜๊ณ  ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•œ๋‹ค.
๊ฒŒ์ž„์ด ์‹œ์ž‘๋˜๋ฉด ํ”Œ๋ ˆ์ด์–ด๋“ค์ด ์ „ํˆฌ๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค.
์ „ํˆฌ๊ฐ€ ๋๋‚˜๋ฉด ๋งค์นญ ์„œ๋ฒ„๋กœ ๋˜๋Œ์•„๊ฐ„๋‹ค.
โšซ ๊ฒŒ์ž„ ์ „์ฒด ํ”„๋กœ์„ธ์Šค์— ํ•„์š”ํ•œ ํ†ต์‹ ์š”์†Œ
๊ฒŒ์ž„์ด ์‹œ์ž‘ํ•˜๋ฉด ๋จผ์ € ๋งค์นญ์„ ํ•œ๋‹ค. ๋งค์นญ์—์„œ๋Š” ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด์™€ ์ ‘์†ํ•ด์•ผ ํ•˜
๋ฏ€๋กœ ํ†ต์‹ ์ด ํ•„์š”ํ•˜๋‹ค.
์บ๋ฆญํ„ฐ๊ฐ€ ๋‘ ๋ช… ์ด์ƒ ํ•œ ๋ฐฉ์— ์žˆ์œผ๋ฉด ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ „ํˆฌ์ค‘์— ํ•„์š”ํ•œ ํ†ต์‹ ์€ ์บ๋ฆญํ„ฐ, ํˆฌ์‚ฌ์ฒด, HP์ •๋ณด ๋“ฑ์ด์žˆ๋‹ค.
์บ๋ฆญํ„ฐ ํ†ต์‹ ์€ ์„œ๋กœ์˜ ์œ„์น˜๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ณ , ํˆฌ์‚ฌ์ฒด ์ •๋ณด๋Š” ์˜๋Š”
์œ„์น˜์™€ ํž˜, ๊ฐ๋„๋ฅผ ์  ๋•Œ ๋งˆ๋‹ค ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉฐ, HP์ •๋ณด๋Š” ํ˜„์žฌ HP๋ฅผ
์ฃผ๊ธฐ์ ์œผ๋กœ ์ „๋‹ฌํ•˜์—ฌ ๋™๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.
201010365 ์ตœ์ข…์›
- 8 -
โšซ ๋งค์นญ ์„œ๋ฒ„.
๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๊ณผ ํ•จ๊ป˜ ํ”Œ๋ ˆ์ด ํ•˜๋ ค๋ฉด ์„œ๋กœ์˜ IP๋ฅผ ์•Œ์•„์•ผ ํ•˜๋Š” ์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ
1:1 ๋ชจ๋ธ๋กœ๋Š” ์„ค๊ณ„๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ๋งค์นญ ์„œ๋ฒ„์˜ IP๋กœ ์ ‘์†ํ•˜๋Š” ํด๋ผ์ด์–ธ
ํŠธ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ์— ๋งค์นญ ์„œ๋ฒ„๊ฐ€ ๋“ค์–ด์˜จ IP๋ฅผ ํŒ๋ณ„ํ•œ ํ›„ ์„œ๋กœ ์—ฐ๊ฒฐํ•ด ์ฃผ๋Š” ๋ฐฉ์‹
์„ ํƒํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋ผ๋ฆฌ IP์ฃผ์†Œ๋ฅผ ๋ชฐ๋ผ๋„ ์ ‘์†ํ•  ๋ฐฉ๋ฒ•์ด ์ƒ๊ธฐ๊ฒŒ ๋œ๋‹ค.
โ“ต ๋งค์นญ ์„œ๋ฒ„์— ๋ฐฉ์„ ๋งŒ๋“ค์–ด ์ค„ ๊ฒƒ์„ ์š”๊ตฌํ•œ๋‹ค.
โ“ถ ๋งค์นญ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ ๋ฐฉ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์š”๊ตฌ ๋ฐ›์€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐฉ
์„ ๋งŒ๋“  ๊ฒฐ๊ณผ๋ฅผ ์•Œ๋ฆฐ๋‹ค.
โ“ท ๋˜ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋งค์นญ ์„œ๋ฒ„์— ๋ฐฉ์ด ์žˆ๋Š”์ง€ ์š”์ฒญํ•œ๋‹ค.
โ“ธ ๋งค์นญ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋งŒ๋“  ๋ฐฉ ์ •๋ณด๋ฅผ ์š”์ฒญํ•œ ๋˜ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ
์•Œ๋ ค์ค€๋‹ค.
โ“น ๋ฐฉ ๋ชฉ๋ก์—์„œ ๊ณจ๋ผ ๋ฐฉ์— ์ฐธ๊ฐ€๋ฅผ ์š”์ฒญํ•œ๋‹ค.
โ“บ ๋งค์นญ ์„œ๋ฒ„๋Š” ์ฐธ๊ฐ€ํ•œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฐธ๊ฐ€ ํ–ˆ๋‹ค๋Š” ์ƒํ™ฉ์„ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ํ•œ๋‹ค.
โ“ป ๋ฐฉ์žฅ(๋ฐฉ ์ƒ์„ฑ์ž)์€ ๋งค์นญ ์„œ๋ฒ„์— ์„ธ์…˜ ์‹œ์ž‘์„ ์š”์ฒญํ•œ๋‹ค.
โ“ผ ๋งค์นญ ์„œ๋ฒ„๋Š” ๋ฐฉ์— ์ฐธ๊ฐ€ํ•œ ๋ชจ๋“  ๋ฉค๋ฒ„์˜ ์ •๋ณด๋ฅผ ์ฐธ๊ฐ€์ž์—๊ฒŒ ์•Œ๋ ค ๊ณ ์œ  ID๋ฅผ
๋ถ€์—ฌํ•ด์ค€๋‹ค.
201010365 ์ตœ์ข…์›
- 9 -
โšซ ๋งค์นญ ์˜ค๋ฅ˜ ๋Œ€์‘
๋„คํŠธ์›Œํฌ ๊ฒŒ์ž„์„ ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ถˆ๋งŒ์„ ๊ฐ€์ง€์ง€ ์•Š๋„๋ก ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ค๋ฅ˜
๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ •ํ™•ํžˆ ์•Œ๋ฆฌ๊ณ  ์ข…๋ฃŒํ•˜๊ฒŒ ํ•œ๋‹ค.
- ๋ฐฉ์— ์ฐธ๊ฐ€ํ•œ ๊ฒŒ์ŠคํŠธ์˜ ์ ‘์†์ด ๋Š๊น€
=> ์„œ๋ฒ„๋Š” ์ ‘์†์ด ๋Š๊ธด ๊ฒŒ์ŠคํŠธ์˜ ์ •๋ณด๋ฅผ ๋ฐฉ์˜ ๋ฉค๋ฒ„์—์„œ ์‚ญ์ œํ•ด์•ผํ•œ๋‹ค.
- ๋ฐฉ์„ ๋งŒ๋“  ํ˜ธ์ŠคํŠธ์˜ ์ ‘์†์ด ๋Š๊ฒผ๋‹ค.
=> ํ˜ธ์ŠคํŠธ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ๋ฐฉ์„ ์—†์• ๋Š” ๋ฐฉ๋ฒ•์„ ํƒํ•˜์—ฌ ๊ฒŒ
์ŠคํŠธ์™€ ์ ‘์†์„ ๋Š๋Š”๋‹ค.
- ์ฐธ๊ฐ€ํ•  ๋ฐฉ์ด ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•ด๋ฒ„๋ ธ๋‹ค.
=> ๋ฐฉ ์ฐธ๊ฐ€ ์‹คํŒจ๋ฅผ ์•Œ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๋ฐฉ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
์„œ๋ฒ„
ํด๋ผ์ด์–ธํŠธ๋ฐฉ ์ƒ์„ฑ ์š”์ฒญ/์‘๋‹ต
ํด๋ผ์ด์–ธํŠธ
ํด๋ผ์ด์–ธํŠธ
๋ฐฉ ๊ฒ€์ƒ‰ ์š”์ฒญ/์‘๋‹ต
๋ฐฉ ์ฐธ๊ฐ€ ์š”์ฒญ/์‘๋‹ต
์„ธ์…˜ ์‹œ์ž‘ ์š”์ฒญ/์‘๋‹ต
201010365 ์ตœ์ข…์›
- 10 -
โšซ ๊ตฌํ˜„ํ•  ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€
๊ฒŒ์ž„์—์„œ ํ†ต์‹ ์ด ํ•„์š”ํ•œ ์ •๋ณด๋Š” ์บ๋ฆญํ„ฐ ์ขŒํ‘œ, HP์ •๋ณด, ํˆฌ์‚ฌ์ฒด์™€ ์ฑ„ํŒ… ์ •๋ณด๊ฐ€
์žˆ์œผ๋ฉฐ ์บ๋ฆญํ„ฐ ์ด๋™๊ณผ ํˆฌ์‚ฌ์ฒด ์ขŒํ‘œ๋Š” ๋ฐ˜์‘์ด ๋นจ๋ผ์•ผ ํ•˜๋ฏ€๋กœ ํ’€๋ฉ”์‹œํ˜•์„ ์ฑ„ํƒ
ํ•˜๊ณ  HP์ •๋ณด๋‚˜ ์ฑ„ํŒ… ์ •๋ณด๋Š” ์Šคํƒ€ํ˜• ํ† ํด๋กœ์ง€๋ฅผ ์ฑ„ํƒํ•œ๋‹ค.
โšซ ๊ฒŒ์ž„ ์„œ๋ฒ„ ์—ฐ๊ฒฐ
๋งค์นญ์ด ์™„๋ฃŒ๋˜๋ฉด ๋งค์นญ ์„œ๋ฒ„๋Š” ํ˜ธ์ŠคํŠธ(๋ฐฉ์„ ์ƒ์„ฑํ•œ ํด๋ผ์ด์–ธํŠธ)์—๊ฒŒ ๊ฒŒ์ž„ ์„œ๋ฒ„
๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ํ•œ ํ›„ ๊ฒŒ์ŠคํŠธ๊ฐ€ ๊ฒŒ์ž„์„œ๋ฒ„์— ์ฐธ๊ฐ€ ํ•œ ํ›„ ๋ฐฉ ์•ˆ์— ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ
์™€์˜ ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค. ๊ฒŒ์ž„์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ์ด ๋ชจ๋‘ ์ด๋ฃจ์–ด์ง€๋ฉด ๊ฐ ๋‹จ๋ง ๋ผ๋ฆฌ๋„ ์ ‘
์†ํ•œ๋‹ค.
์Šคํƒ€ํ˜• ํ† ํด๋กœ์ง€๋Š” TCPํ†ต์‹ , ํ’€๋ฉ”์‹œํ˜• ํ† ํด๋กœ์ง€๋Š” UDP๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์—ฌ ๋‘
ํ†ต์‹  ๋ฐฉ์‹์„ ๋ชจ๋‘ ํด๋ผ์ด์–ธํŠธ์— ๊ตฌํ˜„ํ•œ๋‹ค.
201010365 ์ตœ์ข…์›
- 11 -
โšซ ํ”Œ๋ ˆ์ด์–ด ๊ธ€๋กœ๋ฒŒ ID์™€ ๋กœ์ปฌ ID
- ๋งค์นญ์ด ๋๋‚˜๋ฉด ํ”Œ๋ ˆ์ด์–ด์—๊ฒŒ ์บ๋ฆญํ„ฐ๋ฅผ ํ• ๋‹นํ•œ๋‹ค.
- ํ• ๋‹น๋ฐฉ๋ฒ• : ํ˜ธ์ŠคํŠธ๊ฐ€ ๋งŒ๋“  ๋ฐฉ์˜ ์ˆœ์„œ๋Œ€๋กœ ๊ธ€๋กœ๋ฒŒ ID๋ฅผ ํ• ๋‹นํ•œ๋‹ค.
- ๊ฒŒ์ž„ ์„ธ์…˜์ด ์‹œ์ž‘๋˜๋ฉด ๋กœ์ปฌ๋‹จ๋ง์„ 0, ๋„คํŠธ์›Œํฌ ๋‹จ๋ง์„ ์ˆœ์„œ๋Œ€๋กœ ๋กœ์ปฌ ID๋ฅผ
ํ• ๋‹นํ•ด์„œ ๊ฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋„คํŠธ์›Œํฌ ID๋ฅผ ํŒ๋ณ„ํ•˜๊ฒŒ ํ•œ๋‹ค.
๊ฒŒ์ž„ ์‹œ์ž‘ ์ „์— ์บ๋ฆญํ„ฐ ์ƒ์„ฑ ์œ„์น˜๋ฅผ ๊ฐ ํด๋ผ์ด์–ธํŠธ๋งˆ๋‹ค ์ผ์น˜ ์‹œํ‚ฌ ๋‚œ์ˆ˜๋ฅผ ์ƒ
์„ฑํ•˜์—ฌ ์œ„์น˜๋ฅผ ๋™๊ธฐํ™” ํ•œ ํ›„ ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•œ๋‹ค.
201010365 ์ตœ์ข…์›
- 12 -
โšซ ์บ๋ฆญํ„ฐ ์ด๋™ ๋””์ž์ธ
ํ‚ค ์ž…๋ ฅ์„ ๋™๊ธฐํ™” ํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ์ง€๋งŒ ์—ฌ๋Ÿฌ ๋ช…์˜ ํ‚ค ์ž…๋ ฅ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ๋•Œ
๋ฌธ์— ํ†ต์‹  ์ƒ๋Œ€์˜ ํ‚ค ์ž…๋ ฅ์„ ์ˆ˜์‹ ํ•  ๋•Œ๊นŒ์ง€ ๊ฒŒ์ž„์ฒ˜๋ฆฌ๊ฐ€ ๋ฉˆ์ถœ ์ˆ˜๊ฐ€ ์žˆ๋‹ค.
ํ†ต์‹  ์ง€์—ฐ ๋•Œ๋ฌธ์— ๊ณผ๊ฑฐ์˜ ์œ„์น˜๋ฅผ ์ˆ˜์‹ ํ•˜๊ฒŒ ๋˜์ง€๋งŒ ์ด๋Š” ๋ถˆ๊ฐ€ํ”ผํ•œ ์‚ฌํ•ญ์ด๋ฏ€๋กœ
์พŒ์ ํ•˜๊ฒŒ ํ”Œ๋ ˆ์ด ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์„ ์ œ์‹œํ•œ๋‹ค.
- ์บ๋ฆญํ„ฐ ์ด๋™์˜ ์ขŒํ‘œ ๋ณด๊ฐ„๋ฒ•
์„ ํ˜•๋ณด๊ฐ„(Linear Interpolation)
>> ์Šคํ”Œ๋ผ์ธ๋ณด๊ฐ„(Spline Interpolation)
๋ผ๊ทธ๋ž‘์ฃผ๋ณด๊ฐ„(Lagrange Interpolation)
์—๋ฅด๋ฏธํŠธ๋ณด๊ฐ„(Hermite Interpolation)
์Šคํ”Œ๋ผ์ธ ๋ณด๊ฐ„ ๋ฐฉ๋ฒ•์€ ์ ์ด n๊ฐœ๊ฐ€ ์žˆ์„ ๋•Œ n-1์ฐจ ๋‹คํ•ญ์‹์„ ๊ทธ๋ ค ๊ณก์„ ์œผ๋กœ ์—ฐ
๊ฒฐํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์–ป์€ ๊ณก์„ ์˜ ๋ฐฉ์ •์‹์œผ๋กœ๋ถ€ํ„ฐ ์ ์„ ์ถ”์ถœํ•˜์—ฌ ์ˆ˜์‹ ๋œ n๊ฐœ์˜ ์ ์˜
๊ณต๋ฐฑ์„ ๋ฉ”์šฐ๋Š” ์ž‘์—…์ด๋‹ค. ๋ณธ ๊ฒŒ์ž„์—์„œ๋Š” ์  4๊ฐœ์˜ ๋ฐฐ์—ด์„ 10 ํ”„๋ ˆ์ž„๋งˆ๋‹ค ์†ก์‹ 
ํ•˜๋Š” ๊ฒƒ์œผ๋กœ 3์ฐจ ์Šคํ”Œ๋ผ์ธ ๊ณก์„  - 3์ฐจ ๋‹คํ•ญ์‹์œผ๋กœ๋ถ€ํ„ฐ ์†ก์‹ ๋˜์ง€ ๋ชปํ•œ ์ ๋“ค์„
๋Œ€์ž…ํ•˜์—ฌ ์ถ”์ธกํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์Šคํ”Œ๋ผ์ธ ๋ณด๊ฐ„๋ฒ•์„ ์ด์šฉํ•œ ๋„คํŠธ์›Œํฌ ์บ๋ฆญํ„ฐ์˜ ์ด
๋™ ๋กœ์ง์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
๋กœ์ปฌ ๋‹จ๋ง์˜ ํ˜„์žฌ ์บ๋ฆญํ„ฐ ์ขŒํ‘œ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์†ก์‹ ํ•ด์„œ ๋ฆฌ๋ชจํŠธ ๋‹จ๋ง์—์„œ
์ด๋™์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ์ฑ„์šฉํ•œ๋‹ค.
201010365 ์ตœ์ข…์›
- 13 -
โ“ต ์ผ์ • ํ”„๋ ˆ์ž„๋งˆ๋‹ค ํ˜„์žฌ ์ขŒํ‘œ๋ฅผ ์ถ”์ถœ
โ“ถ ์ถ”์ถœํ•œ ์ขŒํ‘œ๋ฅผ ์†ก์‹ 
โ“ท ์ˆ˜์‹ ํ•œ ๋‹จ๋ง์—์„œ ๋ฐ›์€ ์ขŒํ‘œ๋กœ ์Šคํ”Œ๋ผ์ธ ๊ณก์„ ์„ ๊ตฌํ•˜๊ณ  ๋ณด๊ฐ„์„ ์‹œํ–‰
โ“ธ ๋ณด๊ฐ„๋œ ์ขŒํ‘œ๋ฅผ ๋”ฐ๋ผ ์ด๋™
์บ๋ฆญํ„ฐ ์ขŒํ‘œ์ •๋ณด๋Š” UDPํ†ต์‹ ์œผ๋กœ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค. ์ด๋•Œ ์ •๋ณด๋ฅผ ํ•œ๋ฒˆ๋งŒ ์†ก์‹ ํ•˜๋ฏ€๋กœ
ํŒจํ‚ท์ด ์œ ์‹ค๋˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ์™„์ „ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํŒจํ‚ท ์œ ์‹ค ๋Œ€์ฑ…์œผ๋กœ ์ง€๋‚œ ์ 
์˜ ์ขŒํ‘œ๋ฅผ ๋ฐฐ์—ด๋กœ ์ค‘๋ณตํ•˜์—ฌ ์†ก์‹ ํ•œ๋‹ค.
- ์˜ˆ์ƒํ•˜๋Š” ๋‹จ์ : ์†ก์‹ ํ•œ ์ขŒํ‘œ๊ฐ€ ์ผ์ •ํ•˜๊ฒŒ ๋‚˜๋ˆˆ ํ”„๋ ˆ์ž„ ์ด์ƒ์˜ ์ฐจ์ด + ํ†ต์‹ ์ง€
์—ฐ ๋งŒํผ ์ฐจ์ด๊ฐ€ ๋‚œ๋‹ค. ํˆฌ์‚ฌ์ฒด๋ฅผ ๋งž์•˜์„ ๋•Œ ์ •ํ™•ํžˆ ๋™๊ธฐํ™”๊ฐ€ ๋˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ
์ด ์žˆ๋‹ค.
201010365 ์ตœ์ข…์›
- 14 -
โšซ ํˆฌ์‚ฌ์ฒด ์ „๋‹ฌ ๋””์ž์ธ
- ๋ณด๊ฐ„๋ฒ•์œผ๋กœ ์ธํ•œ ์ •ํ™•์„ฑ๋ฌธ์ œ
์Šคํ”Œ๋ผ์ธ ๋ณด๊ฐ„๋ฒ•์œผ๋กœ ์ธํ•œ ์บ๋ฆญํ„ฐ์˜ ์œ„์น˜ ์ขŒํ‘œ๋Š” ํ”„๋ ˆ์ž„ ์ฐจ์ด + ํ†ต์‹  ์ง€์—ฐ +
๋ณด๊ฐ„ ์—ฐ์‚ฐ๋งŒํผ ๋กœ์ปฌ์บ๋ฆญํ„ฐ์™€ ๋„คํŠธ์›Œํฌ ์บ๋ฆญํ„ฐ ๊ฐ„์— ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋„คํŠธ์›Œํฌ
๋„ˆ๋จธ์˜ ์ƒ๋Œ€๋ฐฉ์„ ๊ณต๊ฒฉํ•˜๋Š” ๊ฒŒ์ž„์ธ ๋งŒํผ ํ”„๋ ˆ์ž„๋ณ„ ์บ๋ฆญํ„ฐ ์ขŒํ‘œ์˜ ์ฐจ์ด๊ฐ€ ๊ฒŒ์ž„
์˜ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์–ด ์น˜๋ช…์ ์ธ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋„คํŠธ์›Œํฌ๋กœ ๋ฐ์ดํ„ฐ
๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์—์„œ ํ†ต์‹  ์ง€์—ฐ์€ ๋ถˆ๊ฐ€ํ”ผํ•œ ๋ฌธ์ œ์ด๋ฏ€๋กœ ์–ด๋А ์ •๋„ ์ฐจ์ด๋Š” ๋ถ„
๋ช…ํžˆ ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค. ์™ธ๊ด€์ƒ์˜ ๋ถˆ์ผ์น˜์™€ ํƒ€ํ˜‘ํ•˜๋ฉด์„œ ๊ฒŒ์ž„ ์„ฑ์„ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์ด
์ค‘์š”ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ์พŒ์ ํ•˜๊ฒŒ ๋™๊ธฐํ™” ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ด์— ๋ณธ ๊ฒŒ์ž„์—
์„œ๋Š” ๋ฐœ์‚ฌ์ฒด ํด๋ž˜์Šค๋ฅผ ํ•˜๋‚˜๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ๋กœ์ปฌํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ฐœ์‚ฌ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜์ž
๋งˆ์ž ํŒจํ‚ท์œผ๋กœ ๋ฐœ์‚ฌ๊ฐ๋„, ๋ฐœ์‚ฌ ํž˜, ๋ฐœ์‚ฌ ์ขŒํ‘œ๋ฅผ ์†ก์‹ ํ•˜๊ฒŒ ๋˜๋ฉด ์ด ํŒจํ‚ท์„ ์ˆ˜์‹ 
ํ•˜๋Š” ๋„คํŠธ์›Œํฌ ํ”Œ๋ ˆ์ด์–ด๋Š” ์บ๋ฆญํ„ฐ๊ฐ€ ๊ทธ ์ง€์—ฐ์‹œ๊ฐ„๋™์•ˆ ์ด๋™ํ•˜๊ฒŒ ๋˜๋”๋ผ๋„ ์ •ํ™•
ํžˆ ๊ฐ™์€ ์ž๋ฆฌ์—์„œ ๊ฐ™์€ ํž˜๊ณผ ๊ฐ๋„๋กœ ๋ฐœ์‚ฌํ•˜๊ฒŒ ๋œ๋‹ค.
๊ฒฐ๋ก ์ ์œผ๋กœ ๋กœ์ปฌ ๋‹จ๋ง์ด ํ•ด๋‹น์œ„์น˜์—์„œ ํˆฌ์‚ฌ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ๋ฐ›๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์ •ํ™•ํ•˜
์ง€๋Š” ์•Š์ง€๋งŒ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ์พŒ์ ํ•˜๊ฒŒ ๋™๊ธฐํ™”๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
201010365 ์ตœ์ข…์›
- 15 -
- ๋ฐœ์‚ฌ ๊ฐ ๊ตฌ์กฐ์ฒด ์ „๋‹ฌ
๋ฐœ์‚ฌ๊ฐ์€ 3์ฐจ์› ๊ณต๊ฐ„์˜ ์ ˆ๋Œ€ ์ขŒํ‘œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค์ผ๋Ÿฌ ๊ฐ์„ ์ด์šฉํ•ด ํšŒ์ „์‹œํ‚จ
๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜ค์ผ๋Ÿฌ ๊ฐ์„ ์ด์šฉํ•œ ํšŒ์ „ ๋ฐฉ์‹์€ X, Y, Z ์ถ•์„ ์ฐจ๋ก€๋Œ€๋กœ ํšŒ์ „ ์‹œ
ํ‚ค๋Š” ๊ฒƒ์œผ๋กœ ํšŒ์ „ํ•˜๋Š” ๋™์•ˆ ์ถ•๋ผ๋ฆฌ ๊ฒน์น˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ง๋ฒŒ๋ฝ์ด๋ผ๋Š”
์ž ๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์œ ๋‹ˆํ‹ฐ์—์„œ๋Š” ๊ฒŒ์ž„์˜ค๋ธŒ
์ ํŠธ์˜ ํšŒ์ „์„ Quaternion(์‚ฌ์›์ˆ˜)์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. Quaternion
์€ 4์ฐจ์› ๋ณต์†Œ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ ๋˜๋Š” ๋””
์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ ํ•  ๊ฒฝ์šฐ 4๊ฐœ์˜ ์ขŒํ‘œ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผํ•œ๋‹ค.
- ๋ฐ๋ฏธ์ง€ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•
ํˆฌ์‚ฌ์ฒด๊ฐ€ ํ•ด๋‹น ์ง€์—ญ์— ํญ๋ฐœํ•˜๋ฉด ํญ๋ฐœ ๋ฐ˜๊ฒฝ ๋‚ด์˜ Collider(Unity ๋ฌผ๋ฆฌ์—”์ง„)๋ฅผ
๊ฐ€์ ธ์™€์„œ Collider์˜ ์œ„์น˜ ๋ฒกํ„ฐ์™€ ํญ๋ฐœํ•œ ๊ณณ์˜ ์œ„์น˜ ๋ฒกํ„ฐ๋ฅผ ๋ฒกํ„ฐ ์ฐจ๋กœ ๋‚˜ํƒ€๋‚ด
๋ฉด ์ถฉ๋Œ ๋ฐ›๋Š” ํž˜์˜ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์— ์ผ์ • ํž˜๊ณผ ๋ฐ๋ฏธ์ง€๋ฅผ ๊ณฑํ•˜์—ฌ
๋ฐ˜๊ฒฝ ๋‚ด์— ๊ฐ€๊นŒ์ด ์žˆ์„์ˆ˜๋ก ๋ฐ€๋ ค๋‚˜๋Š” ํž˜์„ ๋งŽ์ด ๋ฐ›๊ณ  ๋ฐ๋ฏธ์ง€๋„ ๋งŽ์ด ๋ฐ›๋Š”๋‹ค.
201010365 ์ตœ์ข…์›
- 16 -
3. ๊ตฌํ˜„ ๋‹จ๊ณ„
โšซ ์œ ๋‹ˆํ‹ฐ ํ•จ์ˆ˜ : MonoBehavior ์ƒ์†
void Awake()
- ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ํ•œ๋ฒˆ๋งŒ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜
- ์ฃผ๋กœ ๊ฒŒ์ž„์˜ ์ƒํƒœ ๊ฐ’ ๋˜๋Š” ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐํ™”์— ์‚ฌ์šฉ
void Start()
- Update ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๊ธฐ ์ „์— ํ•œ๋ฒˆ๋งŒ ํ˜ธ์ถœ
- ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ™œ์„ฑํ™” ๋ผ ์žˆ์–ด์•ผ ์‹คํ–‰๋œ๋‹ค.
- ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  Awake๊ฐ€ ๋ชจ๋‘ ๋‹ค ์‹คํ–‰๋œ ์ดํ›„์— ์‹คํ–‰๋œ๋‹ค.
void Update()
- ํ”„๋ ˆ์ž„๋งˆ๋‹ค ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜๋กœ ๋ณดํ†ต ๊ฒŒ์ž„์ด 30-60fps๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ 1์ดˆ์—
30-60๋ฒˆ ์‹คํ–‰๋œ๋‹ค. ์‹œ๊ฐ„์„ ์—ฐ๊ฒฐ์‹œํ‚ค๋ ค๋ฉด Time.deltatime์„ ์“ฐ๋ฉด ๋œ๋‹ค.
- ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ™œ์„ฑํ™” ๋ผ ์žˆ์–ด์•ผ ์‹คํ–‰๋œ๋‹ค.
void LateUpdate()
- ๋ชจ๋“  Updateํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๊ณ  ๋‚˜์„œ ํ•œ ๋ฒˆ์”ฉ ํ˜ธ์ถœ๋œ๋‹ค.
- ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•ด์•ผํ•˜๋Š” ๋กœ์ง์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
- ์นด๋ฉ”๋ผ ์ด๋™ ๋กœ์ง์— ์‚ฌ์šฉํ•˜์˜€๋‹ค.
void FixedUpdate()
- ๋ฌผ๋ฆฌ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ผ์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์œผ๋กœ ํž˜์„ ๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
- ๊ฐ€์†๋„๊ฐ€ ํ•„์š”ํ•œ ์šด๋™์— ์‚ฌ์šฉํ•œ๋‹ค.
void OnGUI()
- GUI๊ด€๋ จ ํ•จ์ˆ˜๋ฅผ ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•˜์—ฌ ์นด๋ฉ”๋ผ์œ„์น˜์— ๋‚˜ํƒ€๋‚œ๋‹ค.
โšซ ์นด๋ฉ”๋ผ
์นด๋ฉ”๋ผ ๋กœ์ง์€ LookAtํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ํƒ€๊ฒŸ์„ ๋ฐ”๋ผ๋ณด๋Š” ์šฉ๋„๋กœ ์“ฐ์˜€๋‹ค.
๋””ํ…Œ์ผํ•œ ์นด๋ฉ”๋ผ ์ž‘์—…์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ œ์ถœํ•œ ๋‹ค์Œ ์ฐจํ›„ ์ˆ˜์ •ํ•  ๊ณ„ํš์ด๋‹ค.
201010365 ์ตœ์ข…์›
- 17 -
โšซ ๋„คํŠธ์›Œํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
ํ†ต์‹ ์˜ ๊ธฐ๋ณธ์€ ์ ‘์†, ์†ก์‹ , ์ˆ˜์‹ , ์ ‘์† ์ข…๋ฃŒ๋กœ ํฌ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์‹คํ–‰ํ•˜๋ ค
๋ฉด C#์—์„œ๋Š” Socketํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์†ก์ˆ˜์‹ ์ด ์ผ์–ด๋‚ 
๋•Œ๋งˆ๋‹ค Socketํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ฒŒ
์ž„ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ๋‹ค๋ฅธ ๋‹จ๋ง๊ณผ ํ†ต์‹ ํ•˜๋Š” ๊ธฐ๋Šฅ๋งŒ ์žˆ์œผ๋ฉด ๋˜์ง€ Socketํด๋ž˜์Šค์˜
์ธ์Šคํ„ด์Šค๊นŒ์ง€ ์ง์ ‘ ๋‹ค๋ฃฐ ํ•„์š”๊ฐ€ ์—†๋‹ค.
๋˜ํ•œ ํ†ต์‹ ์˜ ๊ธฐ๋ณธ ์‚ฌํ•ญ ์—ญ์‹œ ๋งค๋ฒˆ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ๋„ ์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ๋ผ
์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋งŒ๋“ค์–ด๋‘๋ฉด ๊ฒŒ์ž„์—์„œ ์ผ์–ด๋‚˜๋Š” ๋ฒ„๊ทธ์—๋งŒ ์‹ ๊ฒฝ ์“ฐ๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
โšซ ์Šค๋ ˆ๋“œ ์‚ฌ์šฉ
๊ฒŒ์ž„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ถ€๋กœ ํ†ต์‹ ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด ๊ฒŒ์ž„ ์ž์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ๋ถ€ํ•˜๊ฐ€
๊ฑธ๋ ค ํ†ต์‹ ์„ ํ•˜๋‹ค๊ฐ€ ๊ฒŒ์ž„์ด ๋ฒ„๋ฒ…๊ฑฐ๋ฆด ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. ๋˜ํ•œ ํ†ต์‹  ์ชฝ๋„ ๋ถ€ํ•˜๊ฐ€
๋†’์•„์ง„๋‹ค๋ฉด ํŒจํ‚ท์ด ์œ ์‹ค๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.
์š”์ฆ˜ CPU๋Š” ๋ฉ€ํ‹ฐ์ฝ”์–ด๋กœ ๋˜์–ด์žˆ์œผ๋ฏ€๋กœ ํ†ต์‹ ์„ ๊ฒŒ์ž„๊ณผ ๋ณ„๋„์˜ ์Šค๋ ˆ๋“œ๋กœ ๋‹ค๋ฅธ
์ฝ”์–ด์—์„œ ์‹คํ–‰ํ•˜๋ฉด ๊ฒŒ์ž„ ์ชฝ ์Šค๋ ˆ๋“œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๊ณ 
๋˜ํ•œ ํ†ต์‹ ์ธก๋„ ๋ถ€ํ•˜๊ฐ€ ์ ๊ฒŒ ๊ฑธ๋ ค ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ„์† ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ฒŒ์ž„ ์Šค๋ ˆ๋“œ์™€ ํ†ต์‹  ์Šค๋ ˆ๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฒ„ํผ๋ฅผ ๊ณต์œ ํ•  ๋ฟ ์ด ๋ฒ„ํผ์—
์ ‘๊ทผํ•  ๋•Œ๋งŒ ์ฃผ์˜ํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ํƒ€์ด๋ฐ์— ์‹ ๊ฒฝ์„ ์“ฐ์ง€ ์•Š๊ณ  ๊ฒŒ์ž„์„ ์ฒ˜๋ฆฌ
ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค.
201010365 ์ตœ์ข…์›
- 18 -
๊ฐ ์Šค๋ ˆ๋“œ์—์„œ ๋น„๋™๊ธฐ๋กœ ํ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ํ›ผ์†์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ
๋ฒ„ํผ์— ์ ‘๊ทผํ•  ๋•Œ์—๋Š” ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ ์Šค๋ ˆ๋“œ์—์„œ ๋ฐฐํƒ€ ์ œ
์–ด(์„ธ๋งˆํฌ์–ด ๋ฝ)์„ ํ•ด์•ผ ํ•œ๋‹ค.
์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ๋Š” ํ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ํ†ต์‹  ์Šค๋ ˆ๋“œ์—์„œ๋Š” ์ˆ˜์‹  ๋ฒ„ํผ์— ๋“ค
์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ํ๋กœ ์˜ฎ๊ธฐ๊ณ , ๊ฒŒ์ž„ ์Šค๋ ˆ๋“œ๊ฐ€ ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ํ
์˜ ๋งจ ์•ž ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
์†ก์ˆ˜์‹ ํ•  ๋ฐ์ดํ„ฐ๋Š” MemoryStreamํด๋ž˜์Šค์—์„œ ๋ฒ„ํผ๋งํ•œ๋‹ค.
๋ง ๊ทธ๋Œ€๋กœ ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ๊ธฐ ๋•Œ๋ฌธ์— ํŒจํ‚ท์œผ๋ก  ๋‹ค๋ฃฐ ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ํŒจํ‚ท ์ •๋ณด
๋ฅผ ๊ตฌ์กฐ์ฒด๋กœ ๋ณ„๋„๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ํŒจํ‚ท ์ •๋ณด๋Š” Listํด๋ž˜์Šค๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ํ ์ž๋ฃŒ๊ตฌ์กฐ
๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•œ๋‹ค.
ํ†ต์‹ ์Šค๋ ˆ๋“œ์—์„œ๋Š” ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋กœ๋ถ€ํ„ฐ ์†ก์‹  ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ฑ๋ก๋˜๋ฉด Socketํด๋ž˜์Šค์˜
Sendํ•จ์ˆ˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•œ๋‹ค. ๊ทธ๋‹ค์Œ Receiveํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์‹  ๋ฐ์ดํ„ฐ
๋ฅผ Socketํด๋ž˜์Šค์˜ ์ˆ˜์‹  ๋ฒ„ํผ์—์„œ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์™€ ์ฃผ๊ณ ๋ฐ›๋Š” ํ๋กœ ์˜ฎ๊ธด๋‹ค. ์ด
๊ณผ์ •์„ ์Šค๋ ˆ๋“œ๊ฐ€ ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ˜๋ณตํ•˜๋Š” ๊ณผ์ •์—์„œ ๋‹ค๋ฅธ ์Šค
๋ ˆ๋“œ๋กœ์˜ ์ฒ˜๋ฆฌ ์ œ์–ด๊ฐ€ ๋Œ์•„๊ฐ€์ง€ ์•Š์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ๋Š” Sleep(3)๋ฅผ ๋„ฃ์–ด 3ms ๋งˆ
๋‹ค ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋กœ์˜ ์ œ์–ด๋ฅผ ์˜ฎ๊ฒจ์ค€๋‹ค.
201010365 ์ตœ์ข…์›
- 19 -
โšซ ์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ ๋ฐ ๋””์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ
ํŒจํ‚ท์— ๋“ค์–ด๊ฐˆ ๋ฐ์ดํ„ฐ๋Š” ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋กœ ๊ตฌ์„ฑ๋˜๊ณ , ๊ฐ๊ฐ ์—ฌ๋Ÿฌ ํ˜•์œผ๋กœ ์ •์˜ ๋˜์–ด
์žˆ๋‹ค. ํ•˜์ง€๋งŒ ํŒจํ‚ท์„ ๊ตฌ์กฐ์ฒด๋กœ ์ •์˜ํ•˜์—ฌ ๋ณ€์ˆ˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ง‘ํ•ฉ์ฒด๋ฅผ ๋ชจ์•„์„œ ๋ณด๋‚ผ
์ˆ˜๋Š” ์—†๋‹ค. ๊ตฌ์กฐ์ฒด์˜ ๋ชจ๋“  ๋ณ€์ˆ˜๋ฅผ byte[]ํ˜•์œผ๋กœ ์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆํ•˜๊ณ , ๋งŒ๋“ค์–ด์ง„
์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ๋„˜๊ฒจ์ฃผ๋ฉด ๊ตฌ์กฐ์ฒด ๋ฐ์ดํ„ฐ๋กœ ๋””์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆํ•˜๋Š” ์ž‘์—…์ด
ํ•„์š”ํ•˜๋‹ค.
โšซ ํŒจํ‚ท ์ „๋‹ฌ ๊ณผ์ •
ํŒจํ‚ท ์ „๋‹ฌ์€ ๋„คํŠธ์›Œํฌ ๋ชจ๋“ˆ์— ๋“ฑ๋ก๋œ ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋ก/๊ตฌ๋…ํ•จ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.
PacketStruct.cs์— ๊ตฌ์กฐ์ฒด๋ฅผ ๋ช…์‹œํ•˜๊ณ  PacketId๋ฅผ ๊ตฌ๋ณ„ํ•œ ๋’ค Packet์— ๊ณ ์œ 
์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ์™€ ๋””์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ์™€ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
GameServer๋‚˜ CharacterRoot์— ๋“ฑ๋ก๋œ ๋„คํŠธ์›Œํฌ ๋ชจ๋“ˆ์„ ํ†ตํ•ด ์ด๋ฒคํŠธ๋ฅผ ์ „
๋‹ฌ ๋ฐ›๊ณ  ๊ฐ ํด๋ผ์ด์–ธํŠธ์— ํŒจํ‚ท์„ ์ „๋‹ฌํ•˜๊ฒŒ ๋œ๋‹ค.
201010365 ์ตœ์ข…์›
- 20 -
โšซ ์„ธ์…˜ ๊ด€๋ฆฌ
๊ฒŒ์ž„์„ 3๋ช…์ด์ƒ ํ”Œ๋ ˆ์ดํ•˜๊ฒŒ ๋  ๋•Œ๋Š” 1:1 ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์„ธ์…˜์„ ๊ด€๋ฆฌ
ํ•ด์•ผํ•œ๋‹ค. Transportํด๋ž˜์Šค๋ฅผ ๋ฌถ์–ด ํ•˜๋‚˜์˜ ์„ธ์…˜์œผ๋กœ ๋ณด๊ณ  ์ ‘์†ํ•  ๊ณณ๊ณผ์˜ ์†ก์ˆ˜
์‹  ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ์„ธ์…˜๊ณผ ํ†ต์‹ ํ•˜๋„๋ก ํ•ด์•ผํ•œ๋‹ค.
OSI 7 Layer๋ชจ๋ธ์˜ Session Transport Layer๋ฅผ ์–ด๋А์ •๋„ ๋ณธ๋”ฐ์„œ
Network(Network Layer๋Š” ์•„๋‹ˆ๋‹ค) ํด๋ž˜์Šค์—์„œ TCP UDP๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ฑฐ๋‚˜ ํŒจํ‚ท
์˜ ํ—ค๋”๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ , Session Layer๋กœ ์ „๋‹ฌํ•œ๋‹ค. delegate ์ด๋ฒคํŠธ๋กœ
์ „๋‹ฌ๋ฐ›์€ Session layer์—์„œ Transport์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ํ”Œ
๋ ˆ์ด์–ด๋ฅผ Transport์˜ ์ธ์Šคํ„ด์Šค๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
201010365 ์ตœ์ข…์›
- 21 -
โšซ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ
โšซ C# ์ฝ”๋”ฉ ๊ธฐ๋ฒ•
MonoBehaviorํด๋ž˜์Šค๋Š” ์œ ๋‹ˆํ‹ฐ ์—”์ง„์œผ๋กœ๋ถ€ํ„ฐ์˜ ํด๋ž˜์Šค์ด๊ณ , ์ด ํด๋ž˜์Šค๋Š” ์–ด
๋А ์Šคํฌ๋ฆฝํŠธ๋‚˜ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
TransportTCPํด๋ž˜์Šค์™€ TransportUDPํด๋ž˜์Šค์—์„œ๋Š” Socketํด๋ž˜์Šค๋ฅผ ์บก์Аํ™”
ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
์บก์Аํ™”๋œ Socketํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฒคํŠธ๋ฅผ ๊ฒ€์ถœํ•ด์„œ ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋žจ์—
์•Œ๋ ค์ค€๋‹ค. C#์˜ Delegate๋ฅผ Dictionary์ž๋ฃŒ๊ตฌ์กฐ์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋ก/
๊ตฌ๋…ํ•˜๋Š” ๋ฐฉ์‹์„ ํƒํ–ˆ๋‹ค.
201010365 ์ตœ์ข…์›
- 22 -
4. ์ฐธ๊ณ ๋ฌธํ—Œ
โšซ ๋ฐ˜๋‹ค์ด ๋‚จ์ฝ” ํ˜„์—ญ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ์œ ๋‹ˆํ‹ฐ ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
๊ฐ€์™€๋‹ค ๋งˆ์‚ฌํ† ์‹œ :: ๊ธธ๋ฒ—
โšซ ์ ˆ๋Œ€๊ฐ•์ขŒ! ์œ ๋‹ˆํ‹ฐ 3D ์ „๋ฌธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ํšจ๊ณผ์ ์ธ ๊ฒŒ์ž„ ์ œ์ž‘๊ธฐ๋ฒ•
์ด์žฌํ˜„ :: ์œ„ํ‚ค๋ถ์Šค
โšซ MSDN .NET Framework๋ฅผ ์ด์šฉํ•œ C# ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€์ด๋“œ2)
โšซ Unity Scripting API3)
2) https://msdn.microsoft.com/ko-kr/library/67ef8sbd.aspx
3) http://docs.unity3d.com/ScriptReference/
201010365 ์ตœ์ข…์›
- 23 -
5. ๊ฒŒ์ž„ ์Šคํฌ๋ฆฝํŠธ ๋ชฉ๋ก
4) http://docs.unity3d.com/kr/current/Manual/Prefabs.html
์Šคํ”Œ๋ผ์ธ ๋ณด๊ฐ„ ๋„ค์ž„์ŠคํŽ˜์ด์Šค
๊ฒŒ์ž„ํ™”๋ฉด
๋กœ๋น„ํ™”๋ฉด
๋„คํŠธ์›Œํฌ ๋ชจ๋“ˆ
์Šคํฌ๋ฆฝํŠธ์™€ ์—ฐ๊ฒฐ๋œ ํ”„๋ฆฌํŒน4)
201010365 ์ตœ์ข…์›
- 24 -
6. ์ฐจํ›„ ์ง„ํ–‰ ์‚ฌํ•ญ
โšซ ๊ฐœ๋ฐœํ™˜๊ฒฝ
โšซ ๊ฐœ์„ ์‚ฌํ•ญ
- ์•„์ดํ…œ์„ ๋‹ค์–‘ํ™” ํ•œ๋‹ค. (๊ณต๊ฒฉ ์•„์ดํ…œ ๋ฟ ์•„๋‹ˆ๋ผ ์ด๋™ ์•„์ดํ…œ๋„ ๋งŒ๋“ ๋‹ค.)
- ์นด๋ฉ”๋ผ ์ด๋™ ๋กœ์ง์„ ์ถ”๊ฐ€/ํ™•์žฅํ•œ๋‹ค.
- ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ข€ ๋” ๋””ํ…Œ์ผํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค.
- ์ตœ์ ํ™” ์ž‘์—…์„ ํ•œ๋‹ค.
- ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„์œผ๋กœ ๋งŒ๋“ ๋‹ค.
5) Unity compiler option: -source 1.6-target 1.6
6) MySQL, SQLite
Unity(2D)
C# JDK1.85)
Android
Studio
JDBC6)
Java
Android
SDK
201010365 ์ตœ์ข…์›
- 25 -
7. ์‹คํ–‰ ํ™”๋ฉด ์บก์ณ
๋งค์นญ ์„œ๋ฒ„ ํ™”๋ฉด
๊ฒŒ์ž„์„ ์ฒ˜์Œ ์‹คํ–‰ํ•œ ํ™”๋ฉด
201010365 ์ตœ์ข…์›
- 26 -
๋ฐฉ์„ ์ƒ์„ฑํ•œ ํ™”๋ฉด
201010365 ์ตœ์ข…์›
- 27 -
๋ฐฉ์— ์ž…์žฅํ•œ ํ™”๋ฉด
์ „ํˆฌํ™”๋ฉด(ํˆฌ์‚ฌ์ฒด ๋ฐœ์‚ฌ)
201010365 ์ตœ์ข…์›
- 28 -
ํ˜ธ์ŠคํŠธ๊ฐ€ ๋Š๊ฒผ์„ ๋•Œ ์˜ค๋ฅ˜ํ™”๋ฉด

Network programming report

  • 1.
    201010365 ์ตœ์ข…์› - 1- ์ œ์ถœ์ผ์ž : 2015-12-09 ์ˆ˜ํ•™๊ณผ 201010365 ์ตœ์ข…์› ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ตœ์ข… ๋ณด๊ณ ์„œ
  • 2.
    201010365 ์ตœ์ข…์› - 2- โšซ๊ฐœ์š” 1. ๋ถ„์„๋‹จ๊ณ„ โšซ ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ โšซ ๋ฐ์ดํ„ฐ ๋ถ„์„ โšซ ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„ โšซ ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€ 2. ์„ค๊ณ„๋‹จ๊ณ„ โšซ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ โšซ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„ - ๊ฒŒ์ž„ ์ „์ฒด ํ”„๋กœ์„ธ์Šค - ๊ฒŒ์ž„ ์ „์ฒด ํ”„๋กœ์„ธ์Šค์— ํ•„์š”ํ•œ ํ†ต์‹ ์š”์†Œ - ๋งค์นญ ์„œ๋ฒ„ - ์˜ค๋ฅ˜ ๋Œ€์‘ - ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€ - ๊ฒŒ์ž„์„œ๋ฒ„ ์—ฐ๊ฒฐ - ํ”Œ๋ ˆ์ด์–ด ๊ธ€๋กœ๋ฒŒ ID ๋ฐ ๋กœ์ปฌ ID - ์บ๋ฆญํ„ฐ ์ด๋™ ๋””์ž์ธ - ํˆฌ์‚ฌ์ฒด ์ด๋™ ๋””์ž์ธ
  • 3.
    201010365 ์ตœ์ข…์› - 3- 3. ๊ตฌํ˜„๋‹จ๊ณ„ โšซ ์œ ๋‹ˆํ‹ฐ ํ•จ์ˆ˜ โšซ ์นด๋ฉ”๋ผ โšซ ๋„คํŠธ์›Œํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ โšซ ์Šค๋ ˆ๋“œ ์‚ฌ์šฉ โšซ ์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ ๋ฐ ๋””์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ โšซ ํŒจํ‚ท ์ „๋‹ฌ ๊ณผ์ • โšซ ์„ธ์…˜ ๊ด€๋ฆฌ โšซ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ โšซ C# ์ฝ”๋”ฉ ๊ธฐ๋ฒ• 4. ์ฐธ๊ณ  ๋ฌธํ—Œ 5. ๊ฒŒ์ž„ ์Šคํฌ๋ฆฝํŠธ ๋ชฉ๋ก 6. ์ฐจํ›„ ์ง„ํ–‰์‚ฌํ•ญ โšซ ๊ฐœ๋ฐœํ™˜๊ฒฝ โšซ ๊ฐœ์„ ์‚ฌํ•ญ 7. ์‹คํ–‰ํ™”๋ฉด ์บก์ณ
  • 4.
    201010365 ์ตœ์ข…์› - 4- 1. ๋ถ„์„๋‹จ๊ณ„ โšซ ์š”๊ตฌ์‚ฌํ•ญ๋ถ„์„ - ํ˜„์žฌ ๊ฒŒ์ž„ ํ˜„ํ™ฉ ํŒจํ„ด ์ˆ˜์ง‘ ํผ์ฆ ๋˜๋Š” ๋Ÿฐ(Run) ๋“ฑ ๊ฒŒ์ž„ ๋ฐฉ์‹์ด ๊ฐ„๋‹จํ•œ ์ˆœ์œ„ํ˜• ๊ฒŒ์ž„ ์นด๋“œ๋‚˜ ์บ๋ฆญํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•œ ๋’ค ์ „ํˆฌ๋ฅผ ํ•˜๋Š” ๊ฒŒ์ž„ ์ž์‹ ์˜ ์š”์ƒˆ๋‚˜ ์„ฑ์„ ์Œ“๊ณ  ์„œ๋กœ ๊ณต๊ฒฉํ•˜๋Š” ๊ฒŒ์ž„ ์ž์‹ ์˜ ์†Œ์œ ๋ฌผ์„ ๊ฒฝ์˜ํ•˜๋Š” ๊ฒŒ์ž„ ์Šคํฌ์ธ  ๊ธฐ๋ฐ˜ ์ˆ˜์ง‘ ๊ฒŒ์ž„ => ํ˜„์žฌ ๋‚˜์˜ค๋Š” ๊ฐ„๋‹จํ•œ ๊ฒŒ์ž„ ํŒจํ„ด์ด ์•„๋‹Œ ์˜จ๋ผ์ธ ์ŠˆํŒ…๊ฒŒ์ž„์„ ์„ ํƒํ•œ๋‹ค. - ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ  TCP/IP, UDP ํ”„๋กœํ† ์ฝœ ํƒ€์ž„์•„์›ƒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋น„๋™๊ธฐ ๋ฐฉ์‹ ์˜ค๋ฅ˜ ํ†ต์ง€ - ํด๋ž˜์Šค ๋ ˆํผ๋Ÿฐ์Šค ํ…Œ์ด๋ธ” ์ŠˆํŒ…๊ฒŒ์ž„ ์˜คํ”ˆ์†Œ์Šค ์ฐธ๊ณ 1) ํ•œ ํ•™๊ธฐ ๋™์•ˆ ๋ฐฐ์šด ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์„ ์ด์šฉํ•˜์—ฌ ํ•œ ๋•Œ ์œ ํ–‰ํ–ˆ๋˜ ํ„ด ์ œ ์ŠˆํŒ… ๊ฒŒ์ž„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋น„๋™๊ธฐ ๋ฐฉ์‹์˜ ์‹ค์‹œ๊ฐ„ ์ŠˆํŒ… ๊ฒŒ์ž„์„ ๋งŒ๋“ ๋‹ค. โšซ ์Šน๋ฆฌ์กฐ๊ฑด ๋ฐ ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜ : - ํ„ด์ œ ์ „๋žต ์ŠˆํŒ… ๊ฒŒ์ž„์„ ๋ฒ—์–ด๋‚˜ ๋น„๋™๊ธฐ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•œ๋‹ค. - ์ƒ๋Œ€๊ฐ€ ์ปจํŠธ๋กค ํ•˜๋Š” ๋ชจ๋“  ์บ๋ฆญํ„ฐ์˜ ์ฒด๋ ฅ์„ 0์œผ๋กœ ๋งŒ๋“ค๋ฉด ์Šน๋ฆฌํ•œ๋‹ค. - ์บ๋ฆญํ„ฐ ๋ฐ object๋Š” ๋งต ์œ„์— ์žˆ์œผ๋ฉฐ ์ค‘๋ ฅ ์—”์ง„์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. - ์บ๋ฆญํ„ฐ๋Š” object์˜ ์ด๋ฒคํŠธ๋กœ ํ”ผํ•ด๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. - ์ ํ”„๋ฅผ ์ตœ๋Œ€ ๋‘ ๋ฒˆ๊นŒ์ง€ ํ•  ์ˆ˜ ์žˆ๋‹ค. 1) http://hedgewars.org/kb/?mode=list
  • 5.
    201010365 ์ตœ์ข…์› - 5- โšซ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ”Œ๋ ˆ์ด ํŒจํ„ด - ํ‰๊ท  5๋ถ„ ๋‚ด์™ธ์˜ ์„ธ์…˜ ํƒ€์ž„ - ๋น„๋™๊ธฐ ์ „๋žต ์ŠˆํŒ…๊ฒŒ์ž„ โšซ ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„ - ์ผ๋ฐ˜์ ์ธ ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ํ๋ฆ„๋„ โšซ ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€ ์ž๋ฃŒ์กฐ์‚ฌ : ๊ฒŒ์ž„์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ† ํด๋กœ์ง€ โšซ ์Šคํƒ€ํ˜• - ์žฅ์  : ์ •๋ณด๊ฐ€ ์„œ๋ฒ„์— ์ง‘์ค‘๋˜์–ด ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์‰ฝ๋‹ค - ๋‹จ์  : ์„œ๋ฒ„๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ฒฝ์œ ํ•˜๋ฏ€๋กœ ํ†ต์‹  ์ง€์—ฐ์ด ๋ฐœ์ƒํ•œ๋‹ค. ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๊ฐ€ ํฌ๋‹ค ์„œ๋ฒ„๊ฐ€ ๋Š๊ธฐ๋ฉด ๋ชจ๋“  ํ†ต์‹ ์ด ๋‘์ ˆ๋œ๋‹ค. โšซ ๋ฉ”์‹œํ˜• - ์žฅ์  : ๋‹จ์ ˆ์˜ ๋‚ด์„ฑ์ด ๊ฐ•ํ•˜๋‹ค. - ๋‹จ์  : ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๋‹จ๋ง์˜ ํ†ต์‹ ์ด ์ง€์—ฐ๋œ๋‹ค. โšซ ํ’€๋ฉ”์‹œํ˜• - ์žฅ์  : ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ์„œ๋กœ ์ ‘์†ํ•˜์—ฌ ๋™์‹œ์— ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์ ˆ์˜ ๋‚ด์„ฑ์ด ๊ฐ•ํ•˜๋‹ค - ๋‹จ์  : ํ†ต์‹ ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜๊ณ  ๋‹จ๋ง์˜ ๊ด€๋ฆฌ๊ฐ€ ๋ณต์žกํ•˜๋‹ค. ๊ฒŒ์ž„์„ค์น˜ ์—…๋ฐ์ดํŠธ ๊ฒŒ์ž„์‹œ์ž‘ ๊ฒŒ์ž„์‹คํ–‰ ํŒจ์น˜์„œ๋ฒ„ ๋กœ๋น„์„œ๋ฒ„๊ฒŒ์ž„์„œ๋ฒ„
  • 6.
    201010365 ์ตœ์ข…์› - 6- 2. ์„ค๊ณ„๋‹จ๊ณ„ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ - ๊ธฐ๋ณธ ํ‹€์€ ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„์˜ ์ผ๋ฐ˜์ ์ธ ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ํ๋ฆ„๋„๋ฅผ ๋”ฐ๋ฅธ๋‹ค. - ๋กœ๋น„์„œ๋ฒ„๋Š” ์ ‘์†ํ•œ ์‚ฌ๋žŒ๋“ค์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹ค๋ฃฌ๋‹ค. - ํด๋ผ์ด์–ธํŠธ ์ค‘ ํ•˜๋‚˜๋ฅผ ํ˜ธ์ŠคํŠธ๋กœ ๋งŒ๋“ค์–ด ๊ฒŒ์ž„์„œ๋ฒ„์˜ ์—ญํ• ์„ ํ•œ๋‹ค. - ํ˜ธ์ŠคํŠธ ์•ˆ์— ๋กœ์ปฌ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์™€ ํ†ต์‹ ํ•˜๊ฒŒ ํ•œ๋‹ค. - ๋กœ๋น„์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋“ค์ด ํ†ต์‹  ํ•˜๋‹ค๊ฐ€ ๊ฒŒ์ž„์ด ์‹œ์ž‘๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋“ค๊ณผ ํ˜ธ์ŠคํŠธ์‚ฌ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•œ๋‹ค. ์„œ๋ฒ„ socket() bind() listen() accept() send() recv() ํด๋ผ์ด์–ธํŠธ socket() connect() send() recv() close() ํด๋ผ์ด์–ธํŠธ ๋กœ๋น„์„œ๋ฒ„ ๊ฒŒ์ž„์„œ๋ฒ„ (HOST) ๊ฒŒ์ž„์‹œ์ž‘
  • 7.
    201010365 ์ตœ์ข…์› - 7- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„ โšซ ๊ฒŒ์ž„ ์ „์ฒด์˜ ํ”„๋กœ์„ธ์Šค ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•˜๋ฉด ํ•จ๊ป˜ ํ”Œ๋ ˆ์ดํ•  ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์—ฌ๋Ÿฌ ๋ช… ์ ‘์†ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งค ์นญ ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋งค์นญ ์„œ๋ฒ„์— ์ ‘์†ํ•˜์—ฌ ๋งค์นญํ•  ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ฐพ๋Š”๋‹ค. ๋งค์นญ์ด ๋๋‚˜๋ฉด ํ•จ๊ป˜ ํ”Œ๋ ˆ์ด ํ•  ํ”Œ๋ ˆ์ด์–ด์™€ ์ ‘์†ํ•˜๊ณ  ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•œ๋‹ค. ๊ฒŒ์ž„์ด ์‹œ์ž‘๋˜๋ฉด ํ”Œ๋ ˆ์ด์–ด๋“ค์ด ์ „ํˆฌ๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค. ์ „ํˆฌ๊ฐ€ ๋๋‚˜๋ฉด ๋งค์นญ ์„œ๋ฒ„๋กœ ๋˜๋Œ์•„๊ฐ„๋‹ค. โšซ ๊ฒŒ์ž„ ์ „์ฒด ํ”„๋กœ์„ธ์Šค์— ํ•„์š”ํ•œ ํ†ต์‹ ์š”์†Œ ๊ฒŒ์ž„์ด ์‹œ์ž‘ํ•˜๋ฉด ๋จผ์ € ๋งค์นญ์„ ํ•œ๋‹ค. ๋งค์นญ์—์„œ๋Š” ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด์™€ ์ ‘์†ํ•ด์•ผ ํ•˜ ๋ฏ€๋กœ ํ†ต์‹ ์ด ํ•„์š”ํ•˜๋‹ค. ์บ๋ฆญํ„ฐ๊ฐ€ ๋‘ ๋ช… ์ด์ƒ ํ•œ ๋ฐฉ์— ์žˆ์œผ๋ฉด ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ „ํˆฌ์ค‘์— ํ•„์š”ํ•œ ํ†ต์‹ ์€ ์บ๋ฆญํ„ฐ, ํˆฌ์‚ฌ์ฒด, HP์ •๋ณด ๋“ฑ์ด์žˆ๋‹ค. ์บ๋ฆญํ„ฐ ํ†ต์‹ ์€ ์„œ๋กœ์˜ ์œ„์น˜๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ณ , ํˆฌ์‚ฌ์ฒด ์ •๋ณด๋Š” ์˜๋Š” ์œ„์น˜์™€ ํž˜, ๊ฐ๋„๋ฅผ ์  ๋•Œ ๋งˆ๋‹ค ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉฐ, HP์ •๋ณด๋Š” ํ˜„์žฌ HP๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ „๋‹ฌํ•˜์—ฌ ๋™๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.
  • 8.
    201010365 ์ตœ์ข…์› - 8- โšซ ๋งค์นญ ์„œ๋ฒ„. ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๊ณผ ํ•จ๊ป˜ ํ”Œ๋ ˆ์ด ํ•˜๋ ค๋ฉด ์„œ๋กœ์˜ IP๋ฅผ ์•Œ์•„์•ผ ํ•˜๋Š” ์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ 1:1 ๋ชจ๋ธ๋กœ๋Š” ์„ค๊ณ„๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ๋งค์นญ ์„œ๋ฒ„์˜ IP๋กœ ์ ‘์†ํ•˜๋Š” ํด๋ผ์ด์–ธ ํŠธ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ์— ๋งค์นญ ์„œ๋ฒ„๊ฐ€ ๋“ค์–ด์˜จ IP๋ฅผ ํŒ๋ณ„ํ•œ ํ›„ ์„œ๋กœ ์—ฐ๊ฒฐํ•ด ์ฃผ๋Š” ๋ฐฉ์‹ ์„ ํƒํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋ผ๋ฆฌ IP์ฃผ์†Œ๋ฅผ ๋ชฐ๋ผ๋„ ์ ‘์†ํ•  ๋ฐฉ๋ฒ•์ด ์ƒ๊ธฐ๊ฒŒ ๋œ๋‹ค. โ“ต ๋งค์นญ ์„œ๋ฒ„์— ๋ฐฉ์„ ๋งŒ๋“ค์–ด ์ค„ ๊ฒƒ์„ ์š”๊ตฌํ•œ๋‹ค. โ“ถ ๋งค์นญ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ ๋ฐฉ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์š”๊ตฌ ๋ฐ›์€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐฉ ์„ ๋งŒ๋“  ๊ฒฐ๊ณผ๋ฅผ ์•Œ๋ฆฐ๋‹ค. โ“ท ๋˜ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋งค์นญ ์„œ๋ฒ„์— ๋ฐฉ์ด ์žˆ๋Š”์ง€ ์š”์ฒญํ•œ๋‹ค. โ“ธ ๋งค์นญ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋งŒ๋“  ๋ฐฉ ์ •๋ณด๋ฅผ ์š”์ฒญํ•œ ๋˜ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค. โ“น ๋ฐฉ ๋ชฉ๋ก์—์„œ ๊ณจ๋ผ ๋ฐฉ์— ์ฐธ๊ฐ€๋ฅผ ์š”์ฒญํ•œ๋‹ค. โ“บ ๋งค์นญ ์„œ๋ฒ„๋Š” ์ฐธ๊ฐ€ํ•œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฐธ๊ฐ€ ํ–ˆ๋‹ค๋Š” ์ƒํ™ฉ์„ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ํ•œ๋‹ค. โ“ป ๋ฐฉ์žฅ(๋ฐฉ ์ƒ์„ฑ์ž)์€ ๋งค์นญ ์„œ๋ฒ„์— ์„ธ์…˜ ์‹œ์ž‘์„ ์š”์ฒญํ•œ๋‹ค. โ“ผ ๋งค์นญ ์„œ๋ฒ„๋Š” ๋ฐฉ์— ์ฐธ๊ฐ€ํ•œ ๋ชจ๋“  ๋ฉค๋ฒ„์˜ ์ •๋ณด๋ฅผ ์ฐธ๊ฐ€์ž์—๊ฒŒ ์•Œ๋ ค ๊ณ ์œ  ID๋ฅผ ๋ถ€์—ฌํ•ด์ค€๋‹ค.
  • 9.
    201010365 ์ตœ์ข…์› - 9- โšซ ๋งค์นญ ์˜ค๋ฅ˜ ๋Œ€์‘ ๋„คํŠธ์›Œํฌ ๊ฒŒ์ž„์„ ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ถˆ๋งŒ์„ ๊ฐ€์ง€์ง€ ์•Š๋„๋ก ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ค๋ฅ˜ ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ •ํ™•ํžˆ ์•Œ๋ฆฌ๊ณ  ์ข…๋ฃŒํ•˜๊ฒŒ ํ•œ๋‹ค. - ๋ฐฉ์— ์ฐธ๊ฐ€ํ•œ ๊ฒŒ์ŠคํŠธ์˜ ์ ‘์†์ด ๋Š๊น€ => ์„œ๋ฒ„๋Š” ์ ‘์†์ด ๋Š๊ธด ๊ฒŒ์ŠคํŠธ์˜ ์ •๋ณด๋ฅผ ๋ฐฉ์˜ ๋ฉค๋ฒ„์—์„œ ์‚ญ์ œํ•ด์•ผํ•œ๋‹ค. - ๋ฐฉ์„ ๋งŒ๋“  ํ˜ธ์ŠคํŠธ์˜ ์ ‘์†์ด ๋Š๊ฒผ๋‹ค. => ํ˜ธ์ŠคํŠธ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ๋ฐฉ์„ ์—†์• ๋Š” ๋ฐฉ๋ฒ•์„ ํƒํ•˜์—ฌ ๊ฒŒ ์ŠคํŠธ์™€ ์ ‘์†์„ ๋Š๋Š”๋‹ค. - ์ฐธ๊ฐ€ํ•  ๋ฐฉ์ด ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•ด๋ฒ„๋ ธ๋‹ค. => ๋ฐฉ ์ฐธ๊ฐ€ ์‹คํŒจ๋ฅผ ์•Œ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๋ฐฉ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ๋ฐฉ ์ƒ์„ฑ ์š”์ฒญ/์‘๋‹ต ํด๋ผ์ด์–ธํŠธ ํด๋ผ์ด์–ธํŠธ ๋ฐฉ ๊ฒ€์ƒ‰ ์š”์ฒญ/์‘๋‹ต ๋ฐฉ ์ฐธ๊ฐ€ ์š”์ฒญ/์‘๋‹ต ์„ธ์…˜ ์‹œ์ž‘ ์š”์ฒญ/์‘๋‹ต
  • 10.
    201010365 ์ตœ์ข…์› - 10- โšซ ๊ตฌํ˜„ํ•  ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€ ๊ฒŒ์ž„์—์„œ ํ†ต์‹ ์ด ํ•„์š”ํ•œ ์ •๋ณด๋Š” ์บ๋ฆญํ„ฐ ์ขŒํ‘œ, HP์ •๋ณด, ํˆฌ์‚ฌ์ฒด์™€ ์ฑ„ํŒ… ์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉฐ ์บ๋ฆญํ„ฐ ์ด๋™๊ณผ ํˆฌ์‚ฌ์ฒด ์ขŒํ‘œ๋Š” ๋ฐ˜์‘์ด ๋นจ๋ผ์•ผ ํ•˜๋ฏ€๋กœ ํ’€๋ฉ”์‹œํ˜•์„ ์ฑ„ํƒ ํ•˜๊ณ  HP์ •๋ณด๋‚˜ ์ฑ„ํŒ… ์ •๋ณด๋Š” ์Šคํƒ€ํ˜• ํ† ํด๋กœ์ง€๋ฅผ ์ฑ„ํƒํ•œ๋‹ค. โšซ ๊ฒŒ์ž„ ์„œ๋ฒ„ ์—ฐ๊ฒฐ ๋งค์นญ์ด ์™„๋ฃŒ๋˜๋ฉด ๋งค์นญ ์„œ๋ฒ„๋Š” ํ˜ธ์ŠคํŠธ(๋ฐฉ์„ ์ƒ์„ฑํ•œ ํด๋ผ์ด์–ธํŠธ)์—๊ฒŒ ๊ฒŒ์ž„ ์„œ๋ฒ„ ๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ํ•œ ํ›„ ๊ฒŒ์ŠคํŠธ๊ฐ€ ๊ฒŒ์ž„์„œ๋ฒ„์— ์ฐธ๊ฐ€ ํ•œ ํ›„ ๋ฐฉ ์•ˆ์— ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ ์™€์˜ ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค. ๊ฒŒ์ž„์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ์ด ๋ชจ๋‘ ์ด๋ฃจ์–ด์ง€๋ฉด ๊ฐ ๋‹จ๋ง ๋ผ๋ฆฌ๋„ ์ ‘ ์†ํ•œ๋‹ค. ์Šคํƒ€ํ˜• ํ† ํด๋กœ์ง€๋Š” TCPํ†ต์‹ , ํ’€๋ฉ”์‹œํ˜• ํ† ํด๋กœ์ง€๋Š” UDP๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์—ฌ ๋‘ ํ†ต์‹  ๋ฐฉ์‹์„ ๋ชจ๋‘ ํด๋ผ์ด์–ธํŠธ์— ๊ตฌํ˜„ํ•œ๋‹ค.
  • 11.
    201010365 ์ตœ์ข…์› - 11- โšซ ํ”Œ๋ ˆ์ด์–ด ๊ธ€๋กœ๋ฒŒ ID์™€ ๋กœ์ปฌ ID - ๋งค์นญ์ด ๋๋‚˜๋ฉด ํ”Œ๋ ˆ์ด์–ด์—๊ฒŒ ์บ๋ฆญํ„ฐ๋ฅผ ํ• ๋‹นํ•œ๋‹ค. - ํ• ๋‹น๋ฐฉ๋ฒ• : ํ˜ธ์ŠคํŠธ๊ฐ€ ๋งŒ๋“  ๋ฐฉ์˜ ์ˆœ์„œ๋Œ€๋กœ ๊ธ€๋กœ๋ฒŒ ID๋ฅผ ํ• ๋‹นํ•œ๋‹ค. - ๊ฒŒ์ž„ ์„ธ์…˜์ด ์‹œ์ž‘๋˜๋ฉด ๋กœ์ปฌ๋‹จ๋ง์„ 0, ๋„คํŠธ์›Œํฌ ๋‹จ๋ง์„ ์ˆœ์„œ๋Œ€๋กœ ๋กœ์ปฌ ID๋ฅผ ํ• ๋‹นํ•ด์„œ ๊ฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋„คํŠธ์›Œํฌ ID๋ฅผ ํŒ๋ณ„ํ•˜๊ฒŒ ํ•œ๋‹ค. ๊ฒŒ์ž„ ์‹œ์ž‘ ์ „์— ์บ๋ฆญํ„ฐ ์ƒ์„ฑ ์œ„์น˜๋ฅผ ๊ฐ ํด๋ผ์ด์–ธํŠธ๋งˆ๋‹ค ์ผ์น˜ ์‹œํ‚ฌ ๋‚œ์ˆ˜๋ฅผ ์ƒ ์„ฑํ•˜์—ฌ ์œ„์น˜๋ฅผ ๋™๊ธฐํ™” ํ•œ ํ›„ ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•œ๋‹ค.
  • 12.
    201010365 ์ตœ์ข…์› - 12- โšซ ์บ๋ฆญํ„ฐ ์ด๋™ ๋””์ž์ธ ํ‚ค ์ž…๋ ฅ์„ ๋™๊ธฐํ™” ํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ์ง€๋งŒ ์—ฌ๋Ÿฌ ๋ช…์˜ ํ‚ค ์ž…๋ ฅ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ๋•Œ ๋ฌธ์— ํ†ต์‹  ์ƒ๋Œ€์˜ ํ‚ค ์ž…๋ ฅ์„ ์ˆ˜์‹ ํ•  ๋•Œ๊นŒ์ง€ ๊ฒŒ์ž„์ฒ˜๋ฆฌ๊ฐ€ ๋ฉˆ์ถœ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ํ†ต์‹  ์ง€์—ฐ ๋•Œ๋ฌธ์— ๊ณผ๊ฑฐ์˜ ์œ„์น˜๋ฅผ ์ˆ˜์‹ ํ•˜๊ฒŒ ๋˜์ง€๋งŒ ์ด๋Š” ๋ถˆ๊ฐ€ํ”ผํ•œ ์‚ฌํ•ญ์ด๋ฏ€๋กœ ์พŒ์ ํ•˜๊ฒŒ ํ”Œ๋ ˆ์ด ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์„ ์ œ์‹œํ•œ๋‹ค. - ์บ๋ฆญํ„ฐ ์ด๋™์˜ ์ขŒํ‘œ ๋ณด๊ฐ„๋ฒ• ์„ ํ˜•๋ณด๊ฐ„(Linear Interpolation) >> ์Šคํ”Œ๋ผ์ธ๋ณด๊ฐ„(Spline Interpolation) ๋ผ๊ทธ๋ž‘์ฃผ๋ณด๊ฐ„(Lagrange Interpolation) ์—๋ฅด๋ฏธํŠธ๋ณด๊ฐ„(Hermite Interpolation) ์Šคํ”Œ๋ผ์ธ ๋ณด๊ฐ„ ๋ฐฉ๋ฒ•์€ ์ ์ด n๊ฐœ๊ฐ€ ์žˆ์„ ๋•Œ n-1์ฐจ ๋‹คํ•ญ์‹์„ ๊ทธ๋ ค ๊ณก์„ ์œผ๋กœ ์—ฐ ๊ฒฐํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์–ป์€ ๊ณก์„ ์˜ ๋ฐฉ์ •์‹์œผ๋กœ๋ถ€ํ„ฐ ์ ์„ ์ถ”์ถœํ•˜์—ฌ ์ˆ˜์‹ ๋œ n๊ฐœ์˜ ์ ์˜ ๊ณต๋ฐฑ์„ ๋ฉ”์šฐ๋Š” ์ž‘์—…์ด๋‹ค. ๋ณธ ๊ฒŒ์ž„์—์„œ๋Š” ์  4๊ฐœ์˜ ๋ฐฐ์—ด์„ 10 ํ”„๋ ˆ์ž„๋งˆ๋‹ค ์†ก์‹  ํ•˜๋Š” ๊ฒƒ์œผ๋กœ 3์ฐจ ์Šคํ”Œ๋ผ์ธ ๊ณก์„  - 3์ฐจ ๋‹คํ•ญ์‹์œผ๋กœ๋ถ€ํ„ฐ ์†ก์‹ ๋˜์ง€ ๋ชปํ•œ ์ ๋“ค์„ ๋Œ€์ž…ํ•˜์—ฌ ์ถ”์ธกํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์Šคํ”Œ๋ผ์ธ ๋ณด๊ฐ„๋ฒ•์„ ์ด์šฉํ•œ ๋„คํŠธ์›Œํฌ ์บ๋ฆญํ„ฐ์˜ ์ด ๋™ ๋กœ์ง์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋กœ์ปฌ ๋‹จ๋ง์˜ ํ˜„์žฌ ์บ๋ฆญํ„ฐ ์ขŒํ‘œ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์†ก์‹ ํ•ด์„œ ๋ฆฌ๋ชจํŠธ ๋‹จ๋ง์—์„œ ์ด๋™์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ์ฑ„์šฉํ•œ๋‹ค.
  • 13.
    201010365 ์ตœ์ข…์› - 13- โ“ต ์ผ์ • ํ”„๋ ˆ์ž„๋งˆ๋‹ค ํ˜„์žฌ ์ขŒํ‘œ๋ฅผ ์ถ”์ถœ โ“ถ ์ถ”์ถœํ•œ ์ขŒํ‘œ๋ฅผ ์†ก์‹  โ“ท ์ˆ˜์‹ ํ•œ ๋‹จ๋ง์—์„œ ๋ฐ›์€ ์ขŒํ‘œ๋กœ ์Šคํ”Œ๋ผ์ธ ๊ณก์„ ์„ ๊ตฌํ•˜๊ณ  ๋ณด๊ฐ„์„ ์‹œํ–‰ โ“ธ ๋ณด๊ฐ„๋œ ์ขŒํ‘œ๋ฅผ ๋”ฐ๋ผ ์ด๋™ ์บ๋ฆญํ„ฐ ์ขŒํ‘œ์ •๋ณด๋Š” UDPํ†ต์‹ ์œผ๋กœ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค. ์ด๋•Œ ์ •๋ณด๋ฅผ ํ•œ๋ฒˆ๋งŒ ์†ก์‹ ํ•˜๋ฏ€๋กœ ํŒจํ‚ท์ด ์œ ์‹ค๋˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ์™„์ „ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํŒจํ‚ท ์œ ์‹ค ๋Œ€์ฑ…์œผ๋กœ ์ง€๋‚œ ์  ์˜ ์ขŒํ‘œ๋ฅผ ๋ฐฐ์—ด๋กœ ์ค‘๋ณตํ•˜์—ฌ ์†ก์‹ ํ•œ๋‹ค. - ์˜ˆ์ƒํ•˜๋Š” ๋‹จ์ : ์†ก์‹ ํ•œ ์ขŒํ‘œ๊ฐ€ ์ผ์ •ํ•˜๊ฒŒ ๋‚˜๋ˆˆ ํ”„๋ ˆ์ž„ ์ด์ƒ์˜ ์ฐจ์ด + ํ†ต์‹ ์ง€ ์—ฐ ๋งŒํผ ์ฐจ์ด๊ฐ€ ๋‚œ๋‹ค. ํˆฌ์‚ฌ์ฒด๋ฅผ ๋งž์•˜์„ ๋•Œ ์ •ํ™•ํžˆ ๋™๊ธฐํ™”๊ฐ€ ๋˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ ์ด ์žˆ๋‹ค.
  • 14.
    201010365 ์ตœ์ข…์› - 14- โšซ ํˆฌ์‚ฌ์ฒด ์ „๋‹ฌ ๋””์ž์ธ - ๋ณด๊ฐ„๋ฒ•์œผ๋กœ ์ธํ•œ ์ •ํ™•์„ฑ๋ฌธ์ œ ์Šคํ”Œ๋ผ์ธ ๋ณด๊ฐ„๋ฒ•์œผ๋กœ ์ธํ•œ ์บ๋ฆญํ„ฐ์˜ ์œ„์น˜ ์ขŒํ‘œ๋Š” ํ”„๋ ˆ์ž„ ์ฐจ์ด + ํ†ต์‹  ์ง€์—ฐ + ๋ณด๊ฐ„ ์—ฐ์‚ฐ๋งŒํผ ๋กœ์ปฌ์บ๋ฆญํ„ฐ์™€ ๋„คํŠธ์›Œํฌ ์บ๋ฆญํ„ฐ ๊ฐ„์— ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋„คํŠธ์›Œํฌ ๋„ˆ๋จธ์˜ ์ƒ๋Œ€๋ฐฉ์„ ๊ณต๊ฒฉํ•˜๋Š” ๊ฒŒ์ž„์ธ ๋งŒํผ ํ”„๋ ˆ์ž„๋ณ„ ์บ๋ฆญํ„ฐ ์ขŒํ‘œ์˜ ์ฐจ์ด๊ฐ€ ๊ฒŒ์ž„ ์˜ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์–ด ์น˜๋ช…์ ์ธ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋„คํŠธ์›Œํฌ๋กœ ๋ฐ์ดํ„ฐ ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์—์„œ ํ†ต์‹  ์ง€์—ฐ์€ ๋ถˆ๊ฐ€ํ”ผํ•œ ๋ฌธ์ œ์ด๋ฏ€๋กœ ์–ด๋А ์ •๋„ ์ฐจ์ด๋Š” ๋ถ„ ๋ช…ํžˆ ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค. ์™ธ๊ด€์ƒ์˜ ๋ถˆ์ผ์น˜์™€ ํƒ€ํ˜‘ํ•˜๋ฉด์„œ ๊ฒŒ์ž„ ์„ฑ์„ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ์พŒ์ ํ•˜๊ฒŒ ๋™๊ธฐํ™” ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ด์— ๋ณธ ๊ฒŒ์ž„์— ์„œ๋Š” ๋ฐœ์‚ฌ์ฒด ํด๋ž˜์Šค๋ฅผ ํ•˜๋‚˜๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ๋กœ์ปฌํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ฐœ์‚ฌ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜์ž ๋งˆ์ž ํŒจํ‚ท์œผ๋กœ ๋ฐœ์‚ฌ๊ฐ๋„, ๋ฐœ์‚ฌ ํž˜, ๋ฐœ์‚ฌ ์ขŒํ‘œ๋ฅผ ์†ก์‹ ํ•˜๊ฒŒ ๋˜๋ฉด ์ด ํŒจํ‚ท์„ ์ˆ˜์‹  ํ•˜๋Š” ๋„คํŠธ์›Œํฌ ํ”Œ๋ ˆ์ด์–ด๋Š” ์บ๋ฆญํ„ฐ๊ฐ€ ๊ทธ ์ง€์—ฐ์‹œ๊ฐ„๋™์•ˆ ์ด๋™ํ•˜๊ฒŒ ๋˜๋”๋ผ๋„ ์ •ํ™• ํžˆ ๊ฐ™์€ ์ž๋ฆฌ์—์„œ ๊ฐ™์€ ํž˜๊ณผ ๊ฐ๋„๋กœ ๋ฐœ์‚ฌํ•˜๊ฒŒ ๋œ๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ ๋กœ์ปฌ ๋‹จ๋ง์ด ํ•ด๋‹น์œ„์น˜์—์„œ ํˆฌ์‚ฌ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ๋ฐ›๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์ •ํ™•ํ•˜ ์ง€๋Š” ์•Š์ง€๋งŒ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ์พŒ์ ํ•˜๊ฒŒ ๋™๊ธฐํ™”๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
  • 15.
    201010365 ์ตœ์ข…์› - 15- - ๋ฐœ์‚ฌ ๊ฐ ๊ตฌ์กฐ์ฒด ์ „๋‹ฌ ๋ฐœ์‚ฌ๊ฐ์€ 3์ฐจ์› ๊ณต๊ฐ„์˜ ์ ˆ๋Œ€ ์ขŒํ‘œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค์ผ๋Ÿฌ ๊ฐ์„ ์ด์šฉํ•ด ํšŒ์ „์‹œํ‚จ ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜ค์ผ๋Ÿฌ ๊ฐ์„ ์ด์šฉํ•œ ํšŒ์ „ ๋ฐฉ์‹์€ X, Y, Z ์ถ•์„ ์ฐจ๋ก€๋Œ€๋กœ ํšŒ์ „ ์‹œ ํ‚ค๋Š” ๊ฒƒ์œผ๋กœ ํšŒ์ „ํ•˜๋Š” ๋™์•ˆ ์ถ•๋ผ๋ฆฌ ๊ฒน์น˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ง๋ฒŒ๋ฝ์ด๋ผ๋Š” ์ž ๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์œ ๋‹ˆํ‹ฐ์—์„œ๋Š” ๊ฒŒ์ž„์˜ค๋ธŒ ์ ํŠธ์˜ ํšŒ์ „์„ Quaternion(์‚ฌ์›์ˆ˜)์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. Quaternion ์€ 4์ฐจ์› ๋ณต์†Œ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ ๋˜๋Š” ๋”” ์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ ํ•  ๊ฒฝ์šฐ 4๊ฐœ์˜ ์ขŒํ‘œ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผํ•œ๋‹ค. - ๋ฐ๋ฏธ์ง€ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ• ํˆฌ์‚ฌ์ฒด๊ฐ€ ํ•ด๋‹น ์ง€์—ญ์— ํญ๋ฐœํ•˜๋ฉด ํญ๋ฐœ ๋ฐ˜๊ฒฝ ๋‚ด์˜ Collider(Unity ๋ฌผ๋ฆฌ์—”์ง„)๋ฅผ ๊ฐ€์ ธ์™€์„œ Collider์˜ ์œ„์น˜ ๋ฒกํ„ฐ์™€ ํญ๋ฐœํ•œ ๊ณณ์˜ ์œ„์น˜ ๋ฒกํ„ฐ๋ฅผ ๋ฒกํ„ฐ ์ฐจ๋กœ ๋‚˜ํƒ€๋‚ด ๋ฉด ์ถฉ๋Œ ๋ฐ›๋Š” ํž˜์˜ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์— ์ผ์ • ํž˜๊ณผ ๋ฐ๋ฏธ์ง€๋ฅผ ๊ณฑํ•˜์—ฌ ๋ฐ˜๊ฒฝ ๋‚ด์— ๊ฐ€๊นŒ์ด ์žˆ์„์ˆ˜๋ก ๋ฐ€๋ ค๋‚˜๋Š” ํž˜์„ ๋งŽ์ด ๋ฐ›๊ณ  ๋ฐ๋ฏธ์ง€๋„ ๋งŽ์ด ๋ฐ›๋Š”๋‹ค.
  • 16.
    201010365 ์ตœ์ข…์› - 16- 3. ๊ตฌํ˜„ ๋‹จ๊ณ„ โšซ ์œ ๋‹ˆํ‹ฐ ํ•จ์ˆ˜ : MonoBehavior ์ƒ์† void Awake() - ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ํ•œ๋ฒˆ๋งŒ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜ - ์ฃผ๋กœ ๊ฒŒ์ž„์˜ ์ƒํƒœ ๊ฐ’ ๋˜๋Š” ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐํ™”์— ์‚ฌ์šฉ void Start() - Update ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๊ธฐ ์ „์— ํ•œ๋ฒˆ๋งŒ ํ˜ธ์ถœ - ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ™œ์„ฑํ™” ๋ผ ์žˆ์–ด์•ผ ์‹คํ–‰๋œ๋‹ค. - ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  Awake๊ฐ€ ๋ชจ๋‘ ๋‹ค ์‹คํ–‰๋œ ์ดํ›„์— ์‹คํ–‰๋œ๋‹ค. void Update() - ํ”„๋ ˆ์ž„๋งˆ๋‹ค ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜๋กœ ๋ณดํ†ต ๊ฒŒ์ž„์ด 30-60fps๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ 1์ดˆ์— 30-60๋ฒˆ ์‹คํ–‰๋œ๋‹ค. ์‹œ๊ฐ„์„ ์—ฐ๊ฒฐ์‹œํ‚ค๋ ค๋ฉด Time.deltatime์„ ์“ฐ๋ฉด ๋œ๋‹ค. - ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ™œ์„ฑํ™” ๋ผ ์žˆ์–ด์•ผ ์‹คํ–‰๋œ๋‹ค. void LateUpdate() - ๋ชจ๋“  Updateํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๊ณ  ๋‚˜์„œ ํ•œ ๋ฒˆ์”ฉ ํ˜ธ์ถœ๋œ๋‹ค. - ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•ด์•ผํ•˜๋Š” ๋กœ์ง์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. - ์นด๋ฉ”๋ผ ์ด๋™ ๋กœ์ง์— ์‚ฌ์šฉํ•˜์˜€๋‹ค. void FixedUpdate() - ๋ฌผ๋ฆฌ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ผ์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์œผ๋กœ ํž˜์„ ๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. - ๊ฐ€์†๋„๊ฐ€ ํ•„์š”ํ•œ ์šด๋™์— ์‚ฌ์šฉํ•œ๋‹ค. void OnGUI() - GUI๊ด€๋ จ ํ•จ์ˆ˜๋ฅผ ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•˜์—ฌ ์นด๋ฉ”๋ผ์œ„์น˜์— ๋‚˜ํƒ€๋‚œ๋‹ค. โšซ ์นด๋ฉ”๋ผ ์นด๋ฉ”๋ผ ๋กœ์ง์€ LookAtํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ํƒ€๊ฒŸ์„ ๋ฐ”๋ผ๋ณด๋Š” ์šฉ๋„๋กœ ์“ฐ์˜€๋‹ค. ๋””ํ…Œ์ผํ•œ ์นด๋ฉ”๋ผ ์ž‘์—…์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ œ์ถœํ•œ ๋‹ค์Œ ์ฐจํ›„ ์ˆ˜์ •ํ•  ๊ณ„ํš์ด๋‹ค.
  • 17.
    201010365 ์ตœ์ข…์› - 17- โšซ ๋„คํŠธ์›Œํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ†ต์‹ ์˜ ๊ธฐ๋ณธ์€ ์ ‘์†, ์†ก์‹ , ์ˆ˜์‹ , ์ ‘์† ์ข…๋ฃŒ๋กœ ํฌ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์‹คํ–‰ํ•˜๋ ค ๋ฉด C#์—์„œ๋Š” Socketํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์†ก์ˆ˜์‹ ์ด ์ผ์–ด๋‚  ๋•Œ๋งˆ๋‹ค Socketํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ฒŒ ์ž„ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ๋‹ค๋ฅธ ๋‹จ๋ง๊ณผ ํ†ต์‹ ํ•˜๋Š” ๊ธฐ๋Šฅ๋งŒ ์žˆ์œผ๋ฉด ๋˜์ง€ Socketํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊นŒ์ง€ ์ง์ ‘ ๋‹ค๋ฃฐ ํ•„์š”๊ฐ€ ์—†๋‹ค. ๋˜ํ•œ ํ†ต์‹ ์˜ ๊ธฐ๋ณธ ์‚ฌํ•ญ ์—ญ์‹œ ๋งค๋ฒˆ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ๋„ ์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ๋ผ ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋งŒ๋“ค์–ด๋‘๋ฉด ๊ฒŒ์ž„์—์„œ ์ผ์–ด๋‚˜๋Š” ๋ฒ„๊ทธ์—๋งŒ ์‹ ๊ฒฝ ์“ฐ๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. โšซ ์Šค๋ ˆ๋“œ ์‚ฌ์šฉ ๊ฒŒ์ž„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ถ€๋กœ ํ†ต์‹ ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด ๊ฒŒ์ž„ ์ž์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ค ํ†ต์‹ ์„ ํ•˜๋‹ค๊ฐ€ ๊ฒŒ์ž„์ด ๋ฒ„๋ฒ…๊ฑฐ๋ฆด ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. ๋˜ํ•œ ํ†ต์‹  ์ชฝ๋„ ๋ถ€ํ•˜๊ฐ€ ๋†’์•„์ง„๋‹ค๋ฉด ํŒจํ‚ท์ด ์œ ์‹ค๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. ์š”์ฆ˜ CPU๋Š” ๋ฉ€ํ‹ฐ์ฝ”์–ด๋กœ ๋˜์–ด์žˆ์œผ๋ฏ€๋กœ ํ†ต์‹ ์„ ๊ฒŒ์ž„๊ณผ ๋ณ„๋„์˜ ์Šค๋ ˆ๋“œ๋กœ ๋‹ค๋ฅธ ์ฝ”์–ด์—์„œ ์‹คํ–‰ํ•˜๋ฉด ๊ฒŒ์ž„ ์ชฝ ์Šค๋ ˆ๋“œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๊ณ  ๋˜ํ•œ ํ†ต์‹ ์ธก๋„ ๋ถ€ํ•˜๊ฐ€ ์ ๊ฒŒ ๊ฑธ๋ ค ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ„์† ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒŒ์ž„ ์Šค๋ ˆ๋“œ์™€ ํ†ต์‹  ์Šค๋ ˆ๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฒ„ํผ๋ฅผ ๊ณต์œ ํ•  ๋ฟ ์ด ๋ฒ„ํผ์— ์ ‘๊ทผํ•  ๋•Œ๋งŒ ์ฃผ์˜ํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ํƒ€์ด๋ฐ์— ์‹ ๊ฒฝ์„ ์“ฐ์ง€ ์•Š๊ณ  ๊ฒŒ์ž„์„ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค.
  • 18.
    201010365 ์ตœ์ข…์› - 18- ๊ฐ ์Šค๋ ˆ๋“œ์—์„œ ๋น„๋™๊ธฐ๋กœ ํ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ํ›ผ์†์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฒ„ํผ์— ์ ‘๊ทผํ•  ๋•Œ์—๋Š” ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ ์Šค๋ ˆ๋“œ์—์„œ ๋ฐฐํƒ€ ์ œ ์–ด(์„ธ๋งˆํฌ์–ด ๋ฝ)์„ ํ•ด์•ผ ํ•œ๋‹ค. ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ๋Š” ํ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ํ†ต์‹  ์Šค๋ ˆ๋“œ์—์„œ๋Š” ์ˆ˜์‹  ๋ฒ„ํผ์— ๋“ค ์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ํ๋กœ ์˜ฎ๊ธฐ๊ณ , ๊ฒŒ์ž„ ์Šค๋ ˆ๋“œ๊ฐ€ ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ํ ์˜ ๋งจ ์•ž ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์†ก์ˆ˜์‹ ํ•  ๋ฐ์ดํ„ฐ๋Š” MemoryStreamํด๋ž˜์Šค์—์„œ ๋ฒ„ํผ๋งํ•œ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ๊ธฐ ๋•Œ๋ฌธ์— ํŒจํ‚ท์œผ๋ก  ๋‹ค๋ฃฐ ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ํŒจํ‚ท ์ •๋ณด ๋ฅผ ๊ตฌ์กฐ์ฒด๋กœ ๋ณ„๋„๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ํŒจํ‚ท ์ •๋ณด๋Š” Listํด๋ž˜์Šค๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ํ ์ž๋ฃŒ๊ตฌ์กฐ ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•œ๋‹ค. ํ†ต์‹ ์Šค๋ ˆ๋“œ์—์„œ๋Š” ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋กœ๋ถ€ํ„ฐ ์†ก์‹  ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ฑ๋ก๋˜๋ฉด Socketํด๋ž˜์Šค์˜ Sendํ•จ์ˆ˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•œ๋‹ค. ๊ทธ๋‹ค์Œ Receiveํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์‹  ๋ฐ์ดํ„ฐ ๋ฅผ Socketํด๋ž˜์Šค์˜ ์ˆ˜์‹  ๋ฒ„ํผ์—์„œ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์™€ ์ฃผ๊ณ ๋ฐ›๋Š” ํ๋กœ ์˜ฎ๊ธด๋‹ค. ์ด ๊ณผ์ •์„ ์Šค๋ ˆ๋“œ๊ฐ€ ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ˜๋ณตํ•˜๋Š” ๊ณผ์ •์—์„œ ๋‹ค๋ฅธ ์Šค ๋ ˆ๋“œ๋กœ์˜ ์ฒ˜๋ฆฌ ์ œ์–ด๊ฐ€ ๋Œ์•„๊ฐ€์ง€ ์•Š์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ๋Š” Sleep(3)๋ฅผ ๋„ฃ์–ด 3ms ๋งˆ ๋‹ค ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋กœ์˜ ์ œ์–ด๋ฅผ ์˜ฎ๊ฒจ์ค€๋‹ค.
  • 19.
    201010365 ์ตœ์ข…์› - 19- โšซ ์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ ๋ฐ ๋””์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ ํŒจํ‚ท์— ๋“ค์–ด๊ฐˆ ๋ฐ์ดํ„ฐ๋Š” ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋กœ ๊ตฌ์„ฑ๋˜๊ณ , ๊ฐ๊ฐ ์—ฌ๋Ÿฌ ํ˜•์œผ๋กœ ์ •์˜ ๋˜์–ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ํŒจํ‚ท์„ ๊ตฌ์กฐ์ฒด๋กœ ์ •์˜ํ•˜์—ฌ ๋ณ€์ˆ˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ง‘ํ•ฉ์ฒด๋ฅผ ๋ชจ์•„์„œ ๋ณด๋‚ผ ์ˆ˜๋Š” ์—†๋‹ค. ๊ตฌ์กฐ์ฒด์˜ ๋ชจ๋“  ๋ณ€์ˆ˜๋ฅผ byte[]ํ˜•์œผ๋กœ ์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆํ•˜๊ณ , ๋งŒ๋“ค์–ด์ง„ ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ๋„˜๊ฒจ์ฃผ๋ฉด ๊ตฌ์กฐ์ฒด ๋ฐ์ดํ„ฐ๋กœ ๋””์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. โšซ ํŒจํ‚ท ์ „๋‹ฌ ๊ณผ์ • ํŒจํ‚ท ์ „๋‹ฌ์€ ๋„คํŠธ์›Œํฌ ๋ชจ๋“ˆ์— ๋“ฑ๋ก๋œ ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋ก/๊ตฌ๋…ํ•จ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. PacketStruct.cs์— ๊ตฌ์กฐ์ฒด๋ฅผ ๋ช…์‹œํ•˜๊ณ  PacketId๋ฅผ ๊ตฌ๋ณ„ํ•œ ๋’ค Packet์— ๊ณ ์œ  ์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ์™€ ๋””์‹œ๋ฆฌ์–ผ๋ผ์ด์ฆˆ์™€ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค. GameServer๋‚˜ CharacterRoot์— ๋“ฑ๋ก๋œ ๋„คํŠธ์›Œํฌ ๋ชจ๋“ˆ์„ ํ†ตํ•ด ์ด๋ฒคํŠธ๋ฅผ ์ „ ๋‹ฌ ๋ฐ›๊ณ  ๊ฐ ํด๋ผ์ด์–ธํŠธ์— ํŒจํ‚ท์„ ์ „๋‹ฌํ•˜๊ฒŒ ๋œ๋‹ค.
  • 20.
    201010365 ์ตœ์ข…์› - 20- โšซ ์„ธ์…˜ ๊ด€๋ฆฌ ๊ฒŒ์ž„์„ 3๋ช…์ด์ƒ ํ”Œ๋ ˆ์ดํ•˜๊ฒŒ ๋  ๋•Œ๋Š” 1:1 ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์„ธ์…˜์„ ๊ด€๋ฆฌ ํ•ด์•ผํ•œ๋‹ค. Transportํด๋ž˜์Šค๋ฅผ ๋ฌถ์–ด ํ•˜๋‚˜์˜ ์„ธ์…˜์œผ๋กœ ๋ณด๊ณ  ์ ‘์†ํ•  ๊ณณ๊ณผ์˜ ์†ก์ˆ˜ ์‹  ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ์„ธ์…˜๊ณผ ํ†ต์‹ ํ•˜๋„๋ก ํ•ด์•ผํ•œ๋‹ค. OSI 7 Layer๋ชจ๋ธ์˜ Session Transport Layer๋ฅผ ์–ด๋А์ •๋„ ๋ณธ๋”ฐ์„œ Network(Network Layer๋Š” ์•„๋‹ˆ๋‹ค) ํด๋ž˜์Šค์—์„œ TCP UDP๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ฑฐ๋‚˜ ํŒจํ‚ท ์˜ ํ—ค๋”๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ , Session Layer๋กœ ์ „๋‹ฌํ•œ๋‹ค. delegate ์ด๋ฒคํŠธ๋กœ ์ „๋‹ฌ๋ฐ›์€ Session layer์—์„œ Transport์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ํ”Œ ๋ ˆ์ด์–ด๋ฅผ Transport์˜ ์ธ์Šคํ„ด์Šค๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
  • 21.
    201010365 ์ตœ์ข…์› - 21- โšซ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ โšซ C# ์ฝ”๋”ฉ ๊ธฐ๋ฒ• MonoBehaviorํด๋ž˜์Šค๋Š” ์œ ๋‹ˆํ‹ฐ ์—”์ง„์œผ๋กœ๋ถ€ํ„ฐ์˜ ํด๋ž˜์Šค์ด๊ณ , ์ด ํด๋ž˜์Šค๋Š” ์–ด ๋А ์Šคํฌ๋ฆฝํŠธ๋‚˜ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. TransportTCPํด๋ž˜์Šค์™€ TransportUDPํด๋ž˜์Šค์—์„œ๋Š” Socketํด๋ž˜์Šค๋ฅผ ์บก์Аํ™” ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์บก์Аํ™”๋œ Socketํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฒคํŠธ๋ฅผ ๊ฒ€์ถœํ•ด์„œ ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋žจ์— ์•Œ๋ ค์ค€๋‹ค. C#์˜ Delegate๋ฅผ Dictionary์ž๋ฃŒ๊ตฌ์กฐ์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋ก/ ๊ตฌ๋…ํ•˜๋Š” ๋ฐฉ์‹์„ ํƒํ–ˆ๋‹ค.
  • 22.
    201010365 ์ตœ์ข…์› - 22- 4. ์ฐธ๊ณ ๋ฌธํ—Œ โšซ ๋ฐ˜๋‹ค์ด ๋‚จ์ฝ” ํ˜„์—ญ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ์œ ๋‹ˆํ‹ฐ ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€์™€๋‹ค ๋งˆ์‚ฌํ† ์‹œ :: ๊ธธ๋ฒ— โšซ ์ ˆ๋Œ€๊ฐ•์ขŒ! ์œ ๋‹ˆํ‹ฐ 3D ์ „๋ฌธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ํšจ๊ณผ์ ์ธ ๊ฒŒ์ž„ ์ œ์ž‘๊ธฐ๋ฒ• ์ด์žฌํ˜„ :: ์œ„ํ‚ค๋ถ์Šค โšซ MSDN .NET Framework๋ฅผ ์ด์šฉํ•œ C# ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€์ด๋“œ2) โšซ Unity Scripting API3) 2) https://msdn.microsoft.com/ko-kr/library/67ef8sbd.aspx 3) http://docs.unity3d.com/ScriptReference/
  • 23.
    201010365 ์ตœ์ข…์› - 23- 5. ๊ฒŒ์ž„ ์Šคํฌ๋ฆฝํŠธ ๋ชฉ๋ก 4) http://docs.unity3d.com/kr/current/Manual/Prefabs.html ์Šคํ”Œ๋ผ์ธ ๋ณด๊ฐ„ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ฒŒ์ž„ํ™”๋ฉด ๋กœ๋น„ํ™”๋ฉด ๋„คํŠธ์›Œํฌ ๋ชจ๋“ˆ ์Šคํฌ๋ฆฝํŠธ์™€ ์—ฐ๊ฒฐ๋œ ํ”„๋ฆฌํŒน4)
  • 24.
    201010365 ์ตœ์ข…์› - 24- 6. ์ฐจํ›„ ์ง„ํ–‰ ์‚ฌํ•ญ โšซ ๊ฐœ๋ฐœํ™˜๊ฒฝ โšซ ๊ฐœ์„ ์‚ฌํ•ญ - ์•„์ดํ…œ์„ ๋‹ค์–‘ํ™” ํ•œ๋‹ค. (๊ณต๊ฒฉ ์•„์ดํ…œ ๋ฟ ์•„๋‹ˆ๋ผ ์ด๋™ ์•„์ดํ…œ๋„ ๋งŒ๋“ ๋‹ค.) - ์นด๋ฉ”๋ผ ์ด๋™ ๋กœ์ง์„ ์ถ”๊ฐ€/ํ™•์žฅํ•œ๋‹ค. - ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ข€ ๋” ๋””ํ…Œ์ผํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค. - ์ตœ์ ํ™” ์ž‘์—…์„ ํ•œ๋‹ค. - ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„์œผ๋กœ ๋งŒ๋“ ๋‹ค. 5) Unity compiler option: -source 1.6-target 1.6 6) MySQL, SQLite Unity(2D) C# JDK1.85) Android Studio JDBC6) Java Android SDK
  • 25.
    201010365 ์ตœ์ข…์› - 25- 7. ์‹คํ–‰ ํ™”๋ฉด ์บก์ณ ๋งค์นญ ์„œ๋ฒ„ ํ™”๋ฉด ๊ฒŒ์ž„์„ ์ฒ˜์Œ ์‹คํ–‰ํ•œ ํ™”๋ฉด
  • 26.
    201010365 ์ตœ์ข…์› - 26- ๋ฐฉ์„ ์ƒ์„ฑํ•œ ํ™”๋ฉด
  • 27.
    201010365 ์ตœ์ข…์› - 27- ๋ฐฉ์— ์ž…์žฅํ•œ ํ™”๋ฉด ์ „ํˆฌํ™”๋ฉด(ํˆฌ์‚ฌ์ฒด ๋ฐœ์‚ฌ)
  • 28.
    201010365 ์ตœ์ข…์› - 28- ํ˜ธ์ŠคํŠธ๊ฐ€ ๋Š๊ฒผ์„ ๋•Œ ์˜ค๋ฅ˜ํ™”๋ฉด