Notice
- Today
- Total
Recent Posts
Recent Comments
Link
Tags
- ubuntu
- ImageList Icon 변환
- Spread
- 라즈베리파이
- Raspberry Pi
- OpenFileDialog
- node.js
- MariaDB
- .mine
- <<<<<<<<
- 자동 닫힘
- 라즈베리 피이
- ScrollBarTrackPolicy
- 동영상 오류
- mariaDB 설치
- UltraToolbarsManager
- ContextMenuStrip
- mariaDB 외부접속
- c#
- Image icon 변환
- WebViewClient
- startActivity
- 다중 Filter
- node.js 설치
- Ribbon
- OSHP
- RaspberryPi
- mp4 재생
- usb 인식 불가
- onPageFinished
Archives
Realman's World
[C#] 비스타에서 ipv4 읽어오기 본문
현재 로컬의 IP를 받아 올 때 일반적으로 아래와 같이 받아온다.
하지만 위와 같은 방식으로 했을 경우 비스타에서는 ipv6로 IP를 받아오게 된다.
때문에 원하는 Socket 통신을 할 때 ipv4로 동작하는 PC와는 연동이 되지 않는다.
이를 해결하기 위해 IP를 ipv4로 받아오기 위해서 아래와 같이 코딩하면 된다.
IPHostEntry senderIP = Dns.GetHostEntry(Dns.GetHostName());
string sClientIp = senderIP.AddressList[0].ToString();
하지만 위와 같은 방식으로 했을 경우 비스타에서는 ipv6로 IP를 받아오게 된다.
때문에 원하는 Socket 통신을 할 때 ipv4로 동작하는 PC와는 연동이 되지 않는다.
이를 해결하기 위해 IP를 ipv4로 받아오기 위해서 아래와 같이 코딩하면 된다.
string sClientIp = String.Empty;
IPHostEntry senderIP = Dns.GetHostEntry(Dns.GetHostName());
for (int i = 0; i < senderIP.AddressList.Length; i++)
{
if (senderIP.AddressList[i].AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
sClientIp = senderIP.AddressList[i].ToString();
break;
}
}
for (int i = 0; i < senderIP.AddressList.Length; i++)
{
if (senderIP.AddressList[i].AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
sClientIp = senderIP.AddressList[i].ToString();
break;
}
}
Comments