728x90
반응형
WPF & C# - IP 주소 추출기 ( 책 : C# 5.0 프로그래밍 실전 프로젝트 / Book / IPAddress / GetHostName / GetHostAddresses / 내부IP / 외부IP / 공인IP / 내부아이피 / 외부아이피 / 공인아이피 ) |
MainWindow.xaml
1 2 3 4 5 | <StackPanel> <TextBlock Text="IP 추출" FontWeight="Bold" FontSize="20"></TextBlock> <Button x:Name="btn" Content="IP 추출" Click="btn_Click"></Button> <ListBox x:Name="lbx"></ListBox> </StackPanel> | cs |
MainWindow.xaml.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | private void btn_Click(object sender, RoutedEventArgs e) { try { string hostname = null; IPAddress[] ips; hostname = Dns.GetHostName(); // 로컬 컴퓨터 호스트 명 ips = Dns.GetHostAddresses(hostname); // 해당 호스트 명의 IP 주소 foreach (IPAddress ip in ips) { lbx.Items.Add("호스트 명 :" + hostname); lbx.Items.Add("아이피 :" + ip.ToString()); } } catch { MessageBox.Show("정보를 나타내는데 오류가 있습니다.", "오류 메시지", MessageBoxButton.OK, MessageBoxImage.Error); } } | cs |
책보고 그대로 따라 했다.
C# 언어 이지만 WPF 에서 대부분 잘 되기 때문에 그냥 따라했다.
책을 본다는건 정말 기초와 핵심을 공부하기 좋은거 같다.
IP4 주소만 따오려면 아래와 같이 하면 된다.
1 2 3 4 5 6 7 8 | IPHostEntry ipEntry = Dns.GetHostEntry(Dns.GetHostName()); IPAddress[] addr = ipEntry.AddressList; for (int i = 0; i < addr.Length; i++) { if (addr[i].ToString().Split('.').Count() == 4) lbl.Content += "IP Address : " + addr[i].ToString() + "\n\n"; } | cs |
공인IP (외부IP)는 아래와 같이 가져온다.
1 2 3 4 5 6 | try { string externalip = new WebClient().DownloadString("http://ipinfo.io/ip").Trim(); //http://icanhazip.com lbl.Content += "IP Address : " + externalip + "\n\n"; } catch { } | cs |
https://stackoverflow.com/questions/6803073/get-local-ip-address
728x90
반응형
'Programing (프로그래밍) > WPF & C# (C Sharp)' 카테고리의 다른 글
[자작] WPF & C# - DavichSign ( 다비치안경원 / 갤럭시북 / 초성검색 ) (0) | 2018.10.02 |
---|---|
[자작] WPF & C# - 폴더트리를 StackPanel 로 구성 _ 슬라이드액션 첨가 (0) | 2018.09.14 |
[자작] WPF & C# - 폴더트리를 StackPanel 로 구성 (0) | 2018.09.10 |
WPF & C# - DNSLookUP ( 책 : C# 5.0 프로그래밍 실전 프로젝트 / Book / IPAddress / Contans / Replace ) (0) | 2018.09.07 |
WPF & C# - 폴더트리 코드 소스 ( FolderTree / TreeView / 재귀함수 / 루프 / roop ) (2) | 2018.09.07 |
WPF & C# - Scrolling StackPanle ( 스택패널 스크롤링 / FluidMoveBehavior / Cnavas / 캔버스 ) (0) | 2018.09.04 |
WPF & C# - Blend FluidLayout 활성화 안될 때 ( 미리보기 ) (0) | 2018.09.04 |
WPF & C# - List<string> 중복제거 ( Distinct() / string.Join ) (0) | 2018.09.03 |