< IPv6 형태로 출력되는 기존의 코드 >
void Awake()
{
string hostname = Dns.GetHostName();
IPAddress[] adrList = Dns.GetHostAddresses(hostname);
}
으로 IP주소를 출력하였을 경우 다음과 같이 IPv6 형태로 출력되는데,
Dns.GetHostAddresses(hostname) 가 host 가 IPv6를 지원하는 경우에 이것을 같이 반환하기 때문이다.
따라서 아래와 같이 조건문을 사용해서 IPv4 주소를 선택하도록 수정해야 하는 방법을 이용해 볼 수 있다.
< IPv4를 출력하도록 수정된 코드 >
void Awake()
{
string hostname = Dns.GetHostName();
IPAddress[] adrList = Dns.GetHostAddresses(hostname);
foreach (IPAddress addr in adrList)
{
if (addr.AddressFamily == AddressFamily.InterNetwork)
{
serverAddress = addr.ToString();
break;
}
}
* foreach 를 통해 IPv4 주소를 선택하고 문자열로 변환하였다. 그 안의 조건문에서는 첫번째 IPv4 주소를 선택하도록 하였는데, 보편적으로 경우에 첫번째 IP 주소가 해당 컴퓨터 또는 장치와 연결되어 있기 때문이다.
수정후 IP가 IPv4 로 정상 출력되는 것을 확인할 수 있다.
'정리예정 > 미분류' 카테고리의 다른 글
c언어 (0) | 2023.10.23 |
---|---|
[Unity] Menu UI (0) | 2023.09.25 |
Visual Studio 세팅 - C언어 학습용 설정 (0) | 2023.07.25 |
C언어 (0) | 2023.07.14 |
Visual Studio 세팅 - 파일 구조 확인 (0) | 2023.07.12 |