๐๋จ์ด ์ฌ์
ํจํท: ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ ๋๋ ๋ธ๋ก
์ค๋ฅ ์ ์ด: ์ ์กํ ๋ ๋๋ ๋ฐ์ดํฐ ์ค๋ฅ ์ฐพ๊ธฐ & ํด๊ฒฐ
ํธ๋ฆ ์ ์ด: ์์ ์ธก์ด ๋ฐ์ ์ ์๋ ๋งํผ ์ ๋ฌ ๋๋๋ก ๋ฐ์ดํฐ ํ๋ฆ ์๋ ์กฐ์
SOCK_STREAM
- TCP์์ ์ฌ์ฉํ๋ ๋ฐฉ์ = ์ฐ๊ฒฐ์งํฅํ ์์ผ
- Segment ์ ์ก ๋ฐฉ์ = ๋ฐ์ดํฐ ๋ถํด ํ ์์ฐจ์ ์ผ๋ก ์ ๋ฌ / ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ณ ์กฐ๋ฆฝ
100๋ช
์ฌ์ฉ โก๏ธ 100๊ฐ๋ฅ ์ ์ ์ค์น X
โก๏ธ 1,2๊ฐ ์ ๋ง ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์กฐ๊ฐ๋ด์ ์ ๋ฌ O
ํน์ง
1) ์ก์ ์ธก์์ ์ ์กํ๋ ํจํท์ ์์๋๋ก ์์ ์ธก์ ์ ๋ฌ๋๋ค.
2) ๋ง์ผ์ ์ ๋ฌ๋ ํจํท์ ๋ฌธ์ ๊ฐ ์์ ๊ฒฝ์ฐ ์ฌ์ ์ก์ ํตํด์ ๋ค์ ๋ฐ์ ์ ์๋ค.
3) ์ค๋ฅ์ ์ด ๋ฐ ํ๋ฆ์ ์ด๊ฐ ๊ฐ๋ฅํ๋ค.
4) ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ค.
5) 1: 1 ๋ง ๊ฐ๋ฅํ๋ค.
6) ์ ๋ฌ๋๋ ๋ฐ์ดํฐ๋ ๊ฒฝ๊ณ๊ฐ ์กด์ฌํ์ง ์๋๋ค.(ํ๋ฒ์ ๋ช๊ฐ์ฉ ๋๋์ด์ ๋ณด๋ผ์ง ์ ํด์ ธ ์์ง ์๋ค.)
10๊ฐ - 10๊ฐ ์ ์ก โก๏ธ ๊ฑฐ์ โก๏ธ ๋๋จธ์ง ์ฌ์ ์ก โฏ โก๏ธ Get
- 5๊ฐ์ฉ 2๋ฒ ์ ์ก โก๏ธ ๊ฑฐ์ โก๏ธ ๋๋จธ์ง ์ฌ์ ์ก โฏ โก๏ธ Get
- 2๊ฐ์ฉ 5๋ฒ ์ ์ก โก๏ธ Get
=> ์๋๋ ๋๋ ค๋ ๊ด์ฐฎ์ง๋ง ์๋ฌ๊ฐ ์๊ธฐ๋ฉด ์๋๋ ๊ฒฝ์ฐ ์ฌ์ฉ
ex) ๋ฌธ์, ํ๋ก๊ทธ๋จ ํ์ผ(1๋นํธ ๊นจ์ง๋ฉด ์ ์ฝํ๊ณ ์ค์น X)
SOCK_DGAM
- UDP์์ ์ฌ์ฉํ๋ ๋ฐฉ์ = ๋น ์ฐ๊ฒฐ์งํฅํ ์์ผ
- Datagram ์ ์ก ๋ฐฉ์ = ์์ ์ธก์ด ๋ฐ์์ ์๋ ์ฌ์ด์ฆ ๋งํผ ๋ฐ์ดํฐ ์ ๋ฌ
ํ๋ฐฐ๋ฅผ ๋ณด๋ผ ๋ ์คํ ๋ฐ์ด๋ก ๋ณด๋ โก๏ธ ์์๋๋ก ํ๋ฐฐ ์ ๋ฌ X
โก๏ธ ๊ธฐ์ฌ๋๋ค์ด ์ํ๋ ๊ธธ๋ก ๊ฐ์ ์ด๋ํด ์ ๋ฌ
โก๏ธ ํ๋ฐฐ ํ์ ๊ฐ๋ฅ์ฑ OK
ํน์ง
1) ์ก์ ์ธก์์ ์ ์กํ๋ ํจํท์ ์์๋๋ก ์์์ธก์ ์ ๋ฌ๋์ง ์์ ์ ์๋ค.
2) ๋ฐ์ดํฐ ๋ถํด๋ฅผ ์ ํ๊ณ ์ ์ฒด๋ฅผ ๋ณด๋ธ๋ค.
โก๏ธ ๋ฉ์ธ์ง ๋ง๋ค ๋ ์์ ์ธก ์ฌ์ด์ฆ๋งํผ ๋ง๋ค์ด์ ์ ๋ฌ(์์ ์ธก ์กฐ๋ฆฝ๋ฅ๋ ฅ X)
3) ์ค๋ฅ์ ์ด ๋ฐ ํ๋ฆ์ ์ด๊ฐ ๋ถ๊ฐ๋ฅํ๋ค.
4) ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ์ง ์๋๋ค.
5) 1:1 ํต์ ๋ฐ 1:N ํต์ ์ด ๋ชจ๋ ๊ฐ๋ฅํ๋ค.
6) ์ ๋ฌ๋๋ ๋ฐ์ดํฐ๋ ๊ฒฝ๊ณ๊ฐ ์กด์ฌํ๋ค.(๋ช๊ฐ์ฉ ๋๋์ด์ ๋ณด๋ผ์ง ์ ํด์ ธ ์๋ค.)
10๊ฐ - 2๊ฐ์ฉ 5๋ฒ ์ ๋ฌ โก๏ธ 2๊ฐ์ฉ 5๋ฒ Get
write๊ฐ 5๋ฒ ํธ์ถ = read๋ 5๋ฒ ํธ์ถ
โก๏ธ write() ํจ์๋ฅผ ํธ์ถํ ํ์๋งํผ read()ํจ์๋ฅผ ํธ์ถํด์ผ ํ๋ค.
=> ์๋ฌ๊ฐ ๋๋ ๊ด์ฐฎ์ง๋ง ์๋๊ฐ ๋นจ๋ผ์ผ ํ๋ ๊ฒฝ์ฐ / ์ค์๊ฐ์ผ๋ก ์ ๋ฌํด์ผ ํ๋ ๊ฒฝ์ฐ
ex) ๋์์, ์์ฑ, ์ฌ์ง, ๊ทธ๋ฆผ
'Network > Socket' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐IP ์ฃผ์ ๋ณํ ํจ์ (0) | 2023.05.09 |
---|---|
๐SOCKADDR VS SOCKADDR_IN (0) | 2023.05.09 |
[Linux Socket] Server - bind() ํจ์[2] (0) | 2023.05.04 |
[Linux Socket] Server - socket() ํจ์[1] (0) | 2023.05.03 |
์์ผ(SOCKET)์ด๋? (0) | 2023.05.03 |