2017-05-04 1 views
1

IOT 장치에 대한 일부 조롱 작업을하고 있으며 C#에서 임의의 IP 주소를 생성해야합니다. 임의의 IP 주소를 생성하는 가장 간단한 방법은 C#입니까?C# 랜덤 IP 주소 생성

답변

0

당신이 IPAddress 객체를 사용하려면 비주얼 스튜디오 2017 및 문자열 보간

public string GetRandomIpAddress() 
    { 
     var random = new Random(); 
     return $"{random.Next(1, 255)}.{random.Next(0, 255)}.{random.Next(0, 255)}.{random.Next(0, 255)}"; 
    } 
+2

C# 6.0 이상 (또는 .net 프레임 워크 4.6)이라고하는 것이 좋습니다. 비주얼 스튜디오 2015에서 문자열 보간법을 사용할 수 있습니다. 필요하지 않습니다. 2017 – Nino

7

를 사용하여 기준 자료 :

var data = new byte[4]; 
new Random().NextBytes(data); 
IPAddress ip = new IPAddress(data); 

참고 :이 여러 번 수행하는 경우, 당신은 단지 만들어야합니다 하나의 Random 개체를 찾아 재사용하십시오.

당신이하여 IPAddress 생성자에 전달하기 전에 첫 번째 요소는 0이 아닌 당신이 1을해야 OR 있는지 확인하려면 : IPv6 주소를 원하는 경우

data[0] |= 1; 
... 

와 첫 번째 라인을 교체 :

var data = new byte[16]; 

및 IPV6 주소가 표시됩니다.

+0

이것은 또한'0.x.x.x'를 생성 할 수 있습니다. – fubo

+0

@fubo'IPAddress' 클래스에 관한 한 무효가 아닙니다; 그것은 행복하게 그러한 주소를 만들 것입니다, 그러나 그것이 단위 테스트를 위해 중요하다면 당신은 그것을 고려해야한다고 생각합니다. –

+0

@fubo 가장 쉬운 방법은 1로 OR하는 것입니다 (따라서 무작위로 상위 7 비트를 유지). –