Loading...
2017. 4. 9. 23:32

๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ์ดˆ - Socket

๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ธฐ ์ „์—๋Š” Socket ์ด๋ผ๋Š” ๊ฐœ๋…์„ ์ดํ•ดํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด, ๋Œ€๋ถ€๋ถ„ ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋žจ์—๋Š” ๋ฐ”๋กœ ์ด ์†Œ์ผ“์„ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹ ์„ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด์ง€์š”. ์˜ค๋Š˜์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋‹ค๊ฐ€๊ฐ€๋Š” ๋„คํŠธ์›Œํฌ ์ฒซ ๊ฑธ์Œ์ธ ์†Œ์ผ“์— ๋Œ€ํ•ด ์‹œ์ž‘ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. Network Socket ์†Œ์ผ“์ด๋ผ๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ผ๊นŒ์š”? ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ฑฐ๋‚˜ ์•„๋‹ˆ๋ฉด ์ด์ œ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด๋ผ๋ฉด, ํ•œ ๋ฒˆ ์ฏค์€ ๋“ค์–ด๋ดค์„ ๋ฒ•ํ•œ ๋‹จ์–ด์ž…๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ์—์„œ ์ด์•ผ๊ธฐํ•˜๋Š” ์†Œ์ผ“์€ ๋ณดํ†ต ๋„คํŠธ์›Œํฌ ์†Œ์ผ“์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ์š”์ฆ˜์—๋Š” ์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•œ ํ†ต์‹ ์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋„ท ์†Œ์ผ“์ด๋ผ๊ณ ๋„ ์ด์•ผ๊ธฐ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ”๋กœ ์ด ์†Œ์ผ“์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. BSD UNIX ์šด์˜์ฒด์ œ์—์„œ ์ฒ˜์Œ ์†Œ๊ฐœ ๋œ ์†Œ..

2017. 4. 8. 00:18

Linux๋กœ ์‹œ์ž‘ํ•ด๋ณด๋Š” ๊ฐ„๋‹จํ•œ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์•„์ง ์†Œ์ผ“์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๋ชจ๋ฅด์‹œ๊ฒ ๋‹ค๊ตฌ์š”? ์•„๋ž˜์˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ Socket ํฌ์ŠคํŠธ๋ฅผ ๋ฏธ๋ฆฌ ์ฝ์–ด๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ์ดˆ - Socket BSD Unix Socket ๊ตฌ์„ฑ์œ ๋‹‰์Šค์—์„œ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ๋Š” ํŒŒ์ผ๋กœ ํ•˜์—ฌ๊ธˆ ํ†ต์‹ ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์œ ๋‹‰์Šค์˜ ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์€ ํŒŒ์ผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ, ์œ ๋‹‰์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ read, write ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋„ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅํ•˜๊ณ  ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ Unix Programming์—์„œ ํŒŒ์ผ์„ ์ƒˆ๋กœ ์—ด ๋•Œ, open ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. open ํ•จ์ˆ˜๋Š” int ํ˜• ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ์ด ๋ฐ˜ํ™˜ ๊ฐ’์€ File descripter Index์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ์ถœ์ฒ˜: (ํ•œ๊ตญ์†Œํ”„ํŠธ์›จ์–ด์ง„ํฅ์› ์ €, Network Programmi..