
[ CLIENT ]
1. socket() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ ์์ผ ์คํ
2. ์๋ฒ์ connect request ์ ์ก
3. ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๋ฐ์
4. ์์ผ ํด๋ก์ฆ
[ SERVER ]
1. socket() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ ์์ผ ์คํ
2. ์ด์ด๋์ ์์ผ์ ์๋ฒ์ ip, port ๋ฐ์ธ๋ฉ
3. listen() ํจ์ ์ฌ์ฉํ์ฌ ๋ฉ์์ง ๋ฐ์ ์ ์๋ ์ํ ์ ํ
4. ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ request ๋ฐ๊ณ , ํ์ผ ๋์คํฌ๋ฆฝํฐ ์์ฑ
5. send()๋ฅผ ํตํด ๋ฉ์์ง ์ฃผ๊ฑฐ๋ recv() ํตํด ๋ฐ์
6. ์ด์ด๋์ ์์ผ ํด๋ก์ฆ
์์ผ์ fork์ ๋ฐฉ์๊ณผ thread์ ๋ฐฉ์์ด ์กด์ฌ. ์ค๋ฌด์์๋ thread๋ฅผ ๋ ๋ง์ด ์ฐ๊ณ ์ ํธํจ
Socket fork ๋?
๋ถ๋ชจ ํ๋ก์ธ์ค์์ ์์ ํ๋ก์ธ์ค๋ฅผ ํ๋ ๋ณต์ ์์ฑ ํด์ฃผ๋ ์ญํ ์ ํ๋ค
์ด๋ ๋ณต์ ์์ฑ์ ๋ถ๋ชจ ํ๋ก์ธ์ค์ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ํ๋ ๋ง๋ค์ด์ง
๋ถ๋ชจ ํ๋ก์ธ์ค์๋ ์์ ํ๋ก์ธ์ค์ PID๊ฐ ๋ค์ด๊ฐ๊ณ ์์ ํ๋ก์ธ์ค์์๋ fork()์ ๋ฆฌํด๊ฐ์ด 0์ด ๋ค์ด๊ฐ๊ฒ๋จ
1. talk_s/ ํ์ผ ์์ฑ [์์ฑ ํ gcc ๋ช ๋ น์ด๋ก ์ปดํ์ผ ํด์ฃผ๊ธฐ] -- server๊ด๋ จ ํ์ผ ์์ฑํ๋ ๊ฒ




2. talk_s/ ํ์ผ ์์ฑ [์์ฑ ํ gcc ๋ช ๋ น์ด๋ก ์ปดํ์ผ ํด์ฃผ๊ธฐ] -- client ๋ถ๋ถ ํ์ผ ์์ฑํด์ฃผ๊ธฐ



ํฐ๋ฏธ๋์ 2๊ฐ ์ด์ ํ ํ์ชฝ์์๋ ./talk_s [ํฌํธ๋ฒํธ] , ๋ค๋ฅธ ํ์ชฝ์๋ ./talk_c [์์ดํผ][ํฌํธ๋ฒํธ]๋ฅผ ์์ฑํ๋ฉด ์๋ก ์ฑํ ํ๋ฏ์ด ๋์์ ์ด ๋ด์ฉ์ด ์ฌ๋ผ์ค๊ฒ ๋จ


* ์๋ฒ์์ ๋ณด๋ธ ๋ฉ์์ง๊ฐ ํด๋ผ์ด์ธํธ์ ์ค์๊ฐ์ผ๋ก ์ ์ก
* ํด๋ผ์ด์ธํธ์์๋ ๋ฉ์์ง๋ฅผ ๋์ผํ๊ฒ sendํ ์ ์์
'LINUX > ABOUT LINUX' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Linux] IPC ์์ โก Semaphore (0) | 2022.10.28 |
|---|---|
| [Linux] IPC ์์ โ Shared Memory & Message Queue (0) | 2022.10.28 |
| [Linux] IPC (Inter-Process Communication) ๊ธฐ๋ณธ ๊ฐ๋ (0) | 2022.10.28 |
| [Linux] OCI (Oracle Call Interface) (2) | 2022.10.28 |
| [Linux] ๋ด๊ฐ ์ดํดํ๊ธฐ ์ํ Pro*c ๊ฐ๋ (0) | 2022.10.27 |