๋‹ท๋„ท 2

[C#] ASP.NET์˜ TCP ์—ฐ๊ฒฐ ์„ค์ •

ASP.NET์—์„œ TCP ์—ฐ๊ฒฐ์€ ์ฃผ๋กœ TcpClient ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“‚ ๋ชฉ์ฐจ  TCP ์—ฐ๊ฒฐ ์„ค์ • ๊ณผ์ •TCP ์—ฐ๊ฒฐ ์„ค์ •์€ 3-way handshake๋กœ ์•Œ๋ ค์ง„ ๊ณผ์ •์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์— ๋…ผ๋ฆฌ์ ์ธ ์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์„ ์‹œ์ž‘ํ•˜๋Š” ์ค€๋น„ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. TCP ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋ณธ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ ์š”์ฒญ(SYN)ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— TCP ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.์ด ๋ฉ”์‹œ์ง€๋Š” SYN ํ”Œ๋ž˜๊ทธ๊ฐ€ ํฌํ•จ๋œ ํŒจํ‚ท์ž…๋‹ˆ๋‹ค.์„œ๋ฒ„๊ฐ€ ์š”์ฒญ ์Šน์ธ(SYN-ACK)์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๋ฉฐ SYN-ACK ํŒจํ‚ท์œผ๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.์ด๋Š” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด..

C# 2025.02.17

[C#] .NET ํ”„๋ ˆ์ž„์›Œํฌ์™€ C# ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ดํ•ด - ์‹œ์ž‘ํ•˜๊ธฐ

๐Ÿ–ฅ.NET ํ”„๋ ˆ์ž„์›Œํฌ ์†Œ๊ฐœ .NET ํ”„๋ ˆ์ž„์›Œํฌ๋ž€ ๋ฌด์—‡์ผ๊นŒ? ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ๊ฐœ๋ฐœํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๋ฐ ์‹คํ–‰ ํ™˜๊ฒฝ์ธ .NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” CLR์ด๋ผ๋Š” ๊ฐ€์ƒ๋จธ์‹ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ํ”Œ๋žซํผ์„์—์„œ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์–ด๋–ค OS์ด๋“  .NET ํ”„๋ ˆ์ž„์›Œํฌ๋งŒ ์„ค์น˜๋˜์–ด ์žˆ์œผ๋ฉด .NET ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ ๊ฐ€๋Šฅํ•˜๋‹ค. .NETํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋งˆ์น˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ์‹คํ–‰ํ™˜๊ฒฝ์ธ Node.js์™€ ๋น„์Šทํ•œ(?) ์—ญํ• ์„ ํ•œ๋‹ค. .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ตฌ์กฐ ๋‚ด๋ถ€๋Š” ์ฃผ๋กœ 3๊ฐ€์ง€ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ CLR(Common Language Runtime): .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•œ๋‹ค. ์ž๋ฐ”์˜ JVM๊ณผ ์œ ์‚ฌํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. ์ฆ‰, CLR์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ..

C์–ธ์–ด 2024.04.24