C#의 네트워크 프로그래밍

Muhammad Maisam Abbas 2023년10월12일
C#의 네트워크 프로그래밍

이 튜토리얼은 .NET 프레임워크에서 제공하는 System.NET 라이브러리를 사용하여 C#에서 네트워크 애플리케이션을 생성하는 방법을 보여줍니다.

C#의 네트워크 프로그래밍

.NET 프레임워크의 System.NET 라이브러리는 C#에서 네트워크 프로그래밍을 위한 간단한 프레임워크를 제공합니다.

두 종류의 네트워크 응용 프로그램이 있습니다. 클라이언트와 서버. 클라이언트 응용 프로그램은 서버 응용 프로그램에 네트워크를 통해 작업을 수행하도록 요청하고 서버 응용 프로그램은 해당 작업을 수행하고 클라이언트 응용 프로그램에 결과를 반환합니다.

C#에서 System.NET 네임스페이스를 사용하여 이 클라이언트-서버 애플리케이션을 프로그래밍할 수 있습니다. 아래의 URI 학습부터 시작하겠습니다.

통일 자원 표시기

네트워킹에서 클라이언트는 균일한 리소스 표시기 또는 URI를 사용하여 필요한 리소스 유형을 지정합니다. URI는 여러 조각으로 구성됩니다.

  • 체계 식별자 - 요청 및 응답에 대한 통신 프로토콜을 식별합니다.
  • 서버 식별자 - DNS 호스트 이름 또는 TCP 주소는 인터넷에서 서버를 고유하게 식별합니다.
  • 경로 식별자 - 서버에서 요청한 정보를 찾습니다. 클라이언트에서 서버로 정보를 전달하는 선택적 쿼리 문자열입니다.

System.NET 네임스페이스의 URI 클래스는 C#에서 균일한 리소스 식별자를 만듭니다. 다음 코드 블록은 C#에서 URI 클래스를 사용하는 방법을 보여줍니다.

var resource = "http://webcode.me:80/";
var path = new Uri(resource);

Console.WriteLine("Port : " + path.Port);
Console.WriteLine("Hostname : " + path.Host);
Console.WriteLine("Path : " + path.LocalPath);
Console.WriteLine("Scheme : " + path.Scheme);

출력:

Port: 80
Hostname: webcode.me
Path: /
Scheme: http

위의 코드는 문자열을 사용하여 해당 문자열URI로 변환한 다음 새로 생성된 URI의 다른 조각을 인쇄합니다. 또한 이 URI 클래스는 URI의 형식이 올바른지 확인하기 위해 몇 가지 유효성 검사를 자동으로 수행합니다.

이러한 유효성 검사는 때때로 역효과를 일으켜 전체 URI를 손상시킬 수 있습니다. UriCreationOptions.DangerousDisablePathAndQueryCanonicalizationtrue로 설정하여 이 효과를 비활성화할 수도 있습니다.

유효성 검사를 비활성화하므로 Uri.Fragments 속성을 사용할 수 없습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn