클리엘
CLIEL LAB
클리엘
전체 방문자
오늘
어제
  • 분류 전체보기 (514) N
    • Mobile (47)
      • Kotlin (47)
    • Web (84)
      • NestJS (9)
      • HTML5 & CSS3 (38)
      • Javascript (20)
      • TypeScript (6)
      • JQuery (11)
    • .NET (301) N
      • C# (84) N
      • ASP.NET (67)
      • Windows API for .NET (128)
    • Server (53)
      • SQL Server (10)
      • MariaDB (18)
      • Windows Server (6)
      • node.js (19)
    • System (12)
      • 작업LOG (12)
    • Review (11)
    • ETC (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 정리

인기 글

태그

  • asp.net core
  • Entity Framework
  • MariaDB
  • Kotlin
  • HTML5
  • JavaScript
  • node.js
  • CSS3
  • LINQ
  • NestJS
  • .NET
  • android
  • Windows API
  • 변수
  • ASP.NET
  • exception
  • android studio
  • c#
  • asp.net core web api
  • jQuery

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
클리엘

CLIEL LAB

.NET

[.NET] 닷넷 Type 사용하기 - 6. 네트워크 리소스 활용

2022. 6. 26. 06:33
728x90

7. 네트워크 리소스 활용

 

.NET은 Network와 관련된 여러 형식을 아래와 같이 지원하고 있습니다.

Namespace Type 설명
System.Net Dns, Uri, Cookie, WebClient, IPAddress Dns, IP주소, URI등을 표현합니다.
System.Net FtpStatusCode, FtpWebRequest, FtpWebResponse FTP와 관련된 표현에 사용됩니다.
System.Net HttpStatusCode, HttpWebRequest, HttpWebResponse HTTP와 관련된 표현에 사용되며 이와 관련해 System. Net.Http의 Type또한 마련되어 있습니다.
System.Net.Http HttpClient, HttpMethod, HttpRequestMessage, HttpResponseMessage HTTP와 관련된 표현에 사용됩니다. 
System.Net.Mail Attachment, MailAddress, MailMessage, SmtpClient SMTP와 관련된 표현에 사용됩니다.
System.Net .NetworkInformation IPStatus, NetworkChange, Ping, TcpStatistics 저수준 네트워크 프로토콜에 사용됩니다.

● URI, DNS, IPAddress

 

URI는 URL을 각각의 특성으로 분해할 수 있도록 합니다. URI사용법은 다음과 같으며 그 이전에 우선 Namespace로 System.Net을 Import 해야 합니다.

string url = "http://cliel.com/aaa/bbb?type=123";

Uri uri = new(url);

Console.WriteLine($"URL: {url}"); 
Console.WriteLine($"Scheme: {uri.Scheme}"); 
Console.WriteLine($"Port: {uri.Port}"); 
Console.WriteLine($"Host: {uri.Host}"); 
Console.WriteLine($"Path: {uri.AbsolutePath}"); 
Console.WriteLine($"Query: {uri.Query}");

//URL: http://cliel.com/aaa/bbb?type=123
//Scheme: http
//Port: 80
//Host: cliel.com
//Path: /aaa/bbb
//Query: ?type=123

DNS로는 URI의 Host를 통해 해당 Web서버의 IP를 조회할 수 있으며 IPAddress는 IP주소에 관한 각종 속성을 다루는 데 사용될 수 있습니다.

string url = "http://cliel.com/";

Uri uri = new(url);

IPHostEntry entry = Dns.GetHostEntry(uri.Host); 
Console.WriteLine($"{entry.HostName}의 IP주소"); 
foreach (IPAddress address in entry.AddressList)
    Console.WriteLine($"{address} - ({address.AddressFamily})");

//cliel.com의 IP주소
//112.175.184.95 - (InterNetwork)

● System.Net .NetworkInformation

 

System.Net .NetworkInformation의 Ping을 활용하면 Web서버의 응답 상태를 다음과 같은 방법으로 확인할 수 있습니다.

string url = "https://www.google.com/";
Uri uri = new(url);

Ping ping = new();

PingReply reply = ping.Send(uri.Host);
Console.WriteLine($"{uri.Host}로의 Ping 응답 : {reply.Status}.");

if (reply.Status == IPStatus.Success)
{
    Console.WriteLine("{0}으로부터 응답시간 : {1:N0}ms", arg0: reply.Address, arg1: reply.RoundtripTime);
}

//www.google.com로의 Ping 응답 : Success.
//142.250.199.100으로부터 응답시간 : 29ms
728x90
저작자표시 비영리 변경금지 (새창열림)

'.NET' 카테고리의 다른 글

[.NET] 닷넷 Type 사용하기 - 8. image 다루기  (0) 2022.06.26
[.NET] 닷넷 Type 사용하기 - 7. reflection 과 attributes  (0) 2022.06.26
[.NET] 닷넷 Type 사용하기 - 5. index와 range 그리고 Span  (0) 2022.06.26
[.NET] 닷넷 Type 사용하기 - 4. Collection 사용  (0) 2022.06.26
[.NET] 닷넷 Type 사용하기 - 3. 정규식(regular expressions)  (0) 2022.06.26
    '.NET' 카테고리의 다른 글
    • [.NET] 닷넷 Type 사용하기 - 8. image 다루기
    • [.NET] 닷넷 Type 사용하기 - 7. reflection 과 attributes
    • [.NET] 닷넷 Type 사용하기 - 5. index와 range 그리고 Span
    • [.NET] 닷넷 Type 사용하기 - 4. Collection 사용
    클리엘
    클리엘
    누구냐 넌?

    티스토리툴바