1. ์ฉ์ด์ ๋ฆฌ
- ์์ผ (Socket) : ๋คํธ์ํฌ ์์์ ๋์๊ฐ๋ ํ๋ก๊ทธ๋จ์ ์๋ฐฉํฅ ํต์ ์ ์๋ ํฌ์ธํธ
- ์์ผํต์ : ์์ผ์ ํตํด ์๋ฒ-ํด๋ผ์ด์ธํธ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์๋ฐฉํฅ ์ฐ๊ฒฐ ์งํฅ์ฑ ํต์
- TCP (Transmission Control Protocol) : ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ขฐ์ฑ ์๊ฒ ์ ๋ฌํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ํ๋กํ ์ฝ
- UDP (User Datagram Protocol) : ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๊ทธ๋จ ๋จ์๋ก ์ฒ๋ฆฌํ๋ ํ๋กํ ์ฝ
- ๋ฐ์ดํฐ๊ทธ๋จ : ํจํท๊ตํ์์ ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์ทจ๊ธ๋๋ ํจํท
2. TCP
- ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ขฐ์ฑ ์๊ฒ ์ ๋ฌํ๋ ํ๋กํ ์ฝ
- ๋ฐ์ดํฐ ์ ์กํ๊ธฐ ์ ์ ์ ์ก์ ์ํ ์ฐ๊ฒฐ์ ๋ง๋๋ ์ฐ๊ฒฐ์งํฅ ํ๋กํ ์ฝ
- ๋ฐ์ดํฐ ์ ์ก ์, ๋ฐ์ดํฐ ์์ค ๋ฐ ์ค๋ฅ๋ฐ์์ ๊ต์
- ์ค๋ฅ ์์ , ์ ์ก ์ฒ๋ฆฌ, ํ๋ฆ ์ ์ด ๋ณด์ฅ
- UDP๋ณด๋ค ๋๋ฆผ
- ๋๋์ ๋ฐ์ดํฐ ์ ์ก์ ์ ํฉ
- ์น HTTP ํต์ , ์ด๋ฉ์ผ, ํ์ผ์ ์ก์ ์ฌ์ฉ
3. UDP
- ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ์ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๊ณผ์ ์ด ํ์ ์์ (๋น ์ฐ๊ฒฐํ ํ๋กํ ์ฝ)
- ๋ฐ์ดํฐ ํฌ๊ธฐ์ ์ ํ์ด ์์
- ๋ฐ์ดํฐ ์ ์ก์ ๋ํ ๋ณด์ฅ์ ํ์ง ์๊ธฐ ๋๋ฌธ์ ํจํท ์์ค์ด ๋ฐ์ํ ์ ์์ (์ ๋ขฐ์ฑ ๋ณด์ฅ ์ํจ)
- ์ค์๊ฐ ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ
- TCP๋ณด๋ค ๋น ๋ฆ
4. C# - TCP
- .NET์์๋ TCP ํต์ ์ ์ํด TcpListener์ TcpClient Class๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ธ๋ฐํ ์ ์ด๋ฅผ ์ํด์๋ Socket Class๋ฅผ ์ฌ์ฉํ ์ ์์
- Server์์๋ TcpListener์ TcpClient Class๊ฐ ๋ชจ๋ ์ฌ์ฉ
- Client์์๋ TcpClient Class ์ฌ์ฉ
- TCP Class์ ์ฃผ์ ๋ฉ์๋
Class | ๋ฉ์๋ | ์ค๋ช |
TcpListener | Start() | ์ฐ๊ฒฐ ์์ฒญ ์์ ๋๊ธฐ๋ฅผ ์์ํ๋ค. |
AcceptTcpClient() | ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ ์์ฒญ์ ์๋ฝ, TcpClient ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. | |
Stop() | ์ฐ๊ฒฐ ์์ฒญ ์์ ๋๊ธฐ๋ฅผ ์ข ๋ฃํ๋ค. | |
TcpClient | Connect() | ์๋ฒ์ ์ฐ๊ฒฐ์ ์์ฒญํ๋ค. |
GetStream() | ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ฐ ์ฌ์ฉํ๋ ๋งค๊ฐ์ฒด์ธ NetworkStream์ ๊ฐ์ ธํผ๋ค. | |
Close() | ์ฐ๊ฒฐ์ ๋ซ๋๋ค. |
5. C# - UDP
- .NET์์๋ UDP ํต์ ์ ์ํด UdpClient Class๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ธ๋ฐํ ์ ์ด๋ฅผ ์ํด์๋ Socket Class๋ฅผ ์ฌ์ฉํ ์ ์์
- ๋ณ๋์ Server Class๋ ์์ผ๋ฉฐ ์๋ฒ, ํด๋ผ์ด์ธํธ ๋ชจ๋ UdpClient Class๋ฅผ ์ฌ์ฉ
- UDP Class์ ์ฃผ์ ๋ฉ์๋
Class | ๋ฉ์๋ | ์ค๋ช |
UdpClient | Connect() | ์ง์ ๋ ๋คํธ์ํฌ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ ์๊ฒฉ ํธ์คํธ๋ฅผ ์ค์ ํ๋ค. |
Receive() | ์๊ฒฉ ํธ์คํธ๊ฐ ๋ณด๋ธ UDP ๋ฐ์ดํฐ๊ทธ๋จ์ ๋ฐํํ๋ค. | |
Send() | ์๊ฒฉ ํธ์คํธ์ UDP ๋ฐ์ดํฐ๊ทธ๋จ์ ์ ์กํ๋ค. | |
Close() | UDP ์ฐ๊ฒฐ์ ๋ซ๋๋ค. |
โป C# - TCP๊ธฐ๋ฐ ์ฑํ ํ๋ก๊ทธ๋จ ๊ด๋ จ ๋ด์ฉ์ ์๋ ๊ฒ์๊ธ ์ฐธ๊ณ
[C#] TCP ์ฑํ ํ๋ก๊ทธ๋จ #1 Server ๊ตฌํ
ํด๋น ๊ฒ์๊ธ์ ์๋ ๊ฐ๋ฐํ๊ฒฝ์ ์ฌ์ฉํ์ฌ ์์ฑ๋จ IDE : VisualStudio 2022 Framework : .NET 7.0 Language : C# 11 1. TCP TCP์ ๋ํ ๋ด์ฉ์ ์๋ ๊ฒ์๊ธ์ ์ฐธ๊ณ [C#] ๋คํธ์ํฌ ํต์ - TCP&UDP 1. ์ฉ์ด์ ๋ฆฌ ์์ผ (Socket) :
ssvip.tistory.com
System.Net.Sockets ๋ค์์คํ์ด์ค
๋คํธ์ํฌ ์ก์ธ์ค๋ฅผ ์๊ฒฉํ๊ฒ ์ ์ดํด์ผ ํ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ Winsock(Windows ์์ผ) ์ธํฐํ์ด์ค์ ๋ํด ๊ด๋ฆฌ๋๋ ๊ตฌํ์ ์ ๊ณตํฉ๋๋ค.
learn.microsoft.com
TcpClient ๋ฐ TcpListener ์ฌ์ฉ - .NET
TcpClient ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ .NET์ TCP๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ ์์ ํ๋ ์์ผ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.
learn.microsoft.com
[์ธํฐ๋ท ํ๋กํ ์ฝ] TCP๋ ๋ฌด์์ธ๊ฐ? ํจํท ์ ์ก์ ์ํ ์ ๋ณด์ ๊ด์ ์์ ๋ณด๋ TCP(Transmission Control Pro
*์ ๊ธ: IP, IP Address๋ ๋ฌด์์ธ๊ฐ? [์ธํฐ๋ท ๊ณ์ธต] IP, IP Address๋ ๋ฌด์์ธ๊ฐ IP IP๋ Internet Protocol์ ์ฝ์์ด๋ค. ๋คํธ์ํฌ ํธ์คํธ๋ IP์์ ์ ์๋ ๊ท์ฝ(Protocol)์ ์ด์ฉํด ๋คํธ์ํฌ ์์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ
kotlinworld.com
[๋คํธ์ํฌ/ํต์ ] ์์ผ์ด๋? TCP์ UDP, ์์ผํต์ ์ ํ๋ฆ
์์ผ(Socket)์ด๋? * ์์ผ : ์ํํธ์จ์ด๋ก ์์ฑ๋ ํต์ ์ ์์ , ์์ฉํ๋ก๊ทธ๋จ์ ์์ผ์ ํตํ์ฌ ํต์ ๋ง์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ก์์ ํ๊ฒ ๋๋ค. - TCP/IP๋ฅผ ์ด์ฉํ๋ ์ฐฝ๊ตฌ ์ญํ - ๋ ํ๋ก๊ทธ๋จ์ด ๋คํธ์ํฌ๋ฅผ ํต
song-yoshiii.tistory.com
[C#] TCP/IP ํต์
1. TCP/IP ์ปดํจํฐ ์ฌ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ ค๋ฉด ๋๋ฆ๋๋ก์ ๊ท์น์ด ํ์ํฉ๋๋ค. ์ด๋ ํ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ ํ ๋ฐฉ์์ ํตํด ์ ์กํ ๊ฒ์ธ๊ฐ๋ฅผ ์ ํด์ผ ํ๊ณ ๊ทธ๋์ผ ๋ฐ์ดํฐ๋ฅผ ๊ทธ ์ฝ์๋๋ก ๋ณด๋ด๊ณ ๋ฐ์ ์
lab.cliel.com
'๊ฐ๋ฐ๐ป > C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C#] TCP ์ฑํ ํ๋ก๊ทธ๋จ #2 Client ๊ตฌํ (0) | 2023.06.12 |
---|---|
[C#] TCP ์ฑํ ํ๋ก๊ทธ๋จ #1 Server ๊ตฌํ (4) | 2023.06.11 |
[C#] ChatGPT ์ฑํ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ (2) | 2023.06.06 |
[C#] ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ Async, Await (0) | 2023.06.05 |
[C#] GC(Garbage Collection) (0) | 2023.06.01 |