Development๐ฉ๐ป๐ฆณ/Communication(2)
-
์์ผ ํ๋ก๊ทธ๋๋ฐ์ ์์: ์ฃผ์ ์ฒด๊ณ๋ถํฐ closesocket๊น์ง ํ๋์ ๋ณด๊ธฐ
๋จ์ํ ๋์ ์ดํด๋ฟ๋ง ์๋๋ผ, ์ค๋ฅ ์ฒ๋ฆฌ ํ๋ฆ, ์ ์ญ ๋ณ์ ํ์ฉ, Winsock ํ์ฅ ํจ์ ์ ์ฉ๋ฒ๊น์ง ์ค๋ฌด์ ์ธ ์ธก๋ฉด์ ๊ณ ๋ คํด ์ ๋ฆฌํ๋ค.โ ์ฐ์ต๋ฌธ์ 05-B: ์ฌ์ฉ์ ์ ์ ํจ์์ ์ค๋ฅ ์ฒ๋ฆฌ๐ง ์๊ตฌ ์ฌํญ ์์ฝf(int x) ํจ์๋ x๊ฐ ์์๋ฉด ์คํจ, ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฑ๊ณต์คํจ ์ errno ์ ์ญ ๋ณ์์ EINVAL ์ค์ ๋ฆฌํด ๊ฐ์ ์ฑ๊ณต ์ 0, ์คํจ ์ 1๐ ๊ตฌํ ์ฝ๋ ์์c๋ณต์ฌํธ์ง#include #include // errno, EINVAL#include // exit()void err_quit(const char* msg) { perror(msg); exit(1);}int f(int x) { if (x >= 0) { errno = 0; return 0; ..
2025.04.11 -
์์ผ ํต์ ์ ๋๋ก ์ดํดํ๊ธฐ: TCP/IP 4๊ณ์ธต์ ์ค์ฌ์ผ๋ก
TCP/IP ๊ณ์ธต ๊ตฌ์กฐ์ ์ญํ ์ธํฐ๋ท์์ ํต์ ์ด ์ํํ ์ด๋ฃจ์ด์ง๊ธฐ ์ํด์๋ ๊ฐ ๊ตฌ์ฑ ์์๋ค์ด ์ผ์ ํ ๊ท์น๊ณผ ์ ์ฐจ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์์ผ ํ๋ค. ์ด๋ฅผ ์ํด TCP/IP๋ ๋ค ๊ฐ์ ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅธ๋ค. ๊ฐ๊ฐ์ ๊ณ์ธต์ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋๋ ๊ณผ์ ์์ ์ํํด์ผ ํ ๊ธฐ๋ฅ๋ค์ ๋ถ๋ดํ๋ฉฐ, ๊ณ์ธต ๊ฐ์ ๋ช ํํ ์ญํ ๋ถ๋ด ๋๋ถ์ ๋ค์ํ ์์คํ ๊ฐ์ ์ํธ ์ด์ฉ์ฑ์ด ๋ณด์ฅ๋๋ค. ์ด ๊ตฌ์กฐ๋ ์์ ๊ณ์ธต์ด ํ์ ๊ณ์ธต์ ๋์ ๋ฐฉ์์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํด์ค๋ค.๊ฐ ๊ณ์ธต์ ๋ค์๊ณผ ๊ฐ์ ์ญํ ์ ์ํํ๋ค.์์ฉ ๊ณ์ธต(Application Layer): ์ต์์ ๊ณ์ธต์ผ๋ก, ์ฌ์ฉ์์๊ฒ ๋คํธ์ํฌ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค. ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ฌ์ฉํ๋ HTTP, ์ด๋ฉ์ผ ์ก์์ ์ ์ํ SMTP, FTP, DNS ๋ฑ์ด ์ด ๊ณ์ธต์ ์ํ..
2025.04.10