2014-02-26 2 views
1
_Printers = new PrintServer().GetPrintQueues(new[] { 
    EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections}); 

위 코드를 사용하면 인쇄 할 수있는 프린터 목록을 얻을 수 있습니다. 프린터 설명 중 하나는 다음과 같습니다 : I 수동으로 다음과 같은 방법으로 사용하여 프린터의 IP 주소를 찾는 데 노력하고있어C# 프린터의 호스트 이름 및 IP 주소 이해

이제
\\EYZR370\HP Color LaserJet 2605dn,HP Universal Printing PCL 6 (v5.1), 

:

1 ->
2 제어판으로 이동 보기> 장치 및 HP 컬러 레이저젯 2605dn 선택 프린터 등록 정보
4 -> 마우스 오른쪽 버튼으로 클릭 프린터
3->

이 지금은 예를,228,781,685을위한하여 IPAddress를 보여줍니다 IP 주소를 볼 포트 탭을 선택합니다3210

나는 192.157.6.8 == EYZR370일까요?

string hostName = System.Net.Dns.GetHostEntry("192.157.6.8").HostName; 

는 놀랍게도 hostName 내가 대해 그것을 어떤 단서도 없어 다른 문자열 값을 갖는된다

그래서 나는 다음과 같은 방법을 시도해보십시오.

누구나 실제로 내 사건과 관련하여 모든 것을 설명 할 수 있습니까?

업데이트 :

나는 다음과 같은 방법

IPHostEntry hostEntry; 

    hostEntry = Dns.GetHostEntry("EYZR370"); 

    //you might get more than one ip for a hostname since 
    //DNS supports more than one record 

    if (hostEntry.AddressList.Length > 0) 
    { 
     //var ip = hostEntry.AddressList[0]; 
    } 

내가 거기에 hostEntry.AddressList 6 개 데이터하지만 그들 중 누구도 192.157.6.8 일치하지 않습니다 볼 수 있습니다을 사용하여 다른 테스트를 완료했습니다?

답변

0

HostName 속성은 기본 호스트 이름을 반환합니다.

가능한 별칭 목록을 반환하는 Aliases 속성을 확인하십시오. 컴퓨터에 192.157.6.8으로 해석되는 둘 이상의 DNS 이름이있는 경우 위에서 언급 한 속성에서 찾을 수 있습니다.

Dns.ResolveDns.GetHostByAddress과 같은 (구식이지만 사용하지 않는) 방법을 사용해 볼 수도 있습니다. 어떤 사람들은 이러한 방법이 다르게 작동한다고보고했습니다.

프린터가 올바르게 구성 되었습니까? 프린터에 호스트 이름이 없거나 DNS가 올바르게 구성되지 않은 것 같습니다. 아니면 틀린 이름을 가지고 있을까요? 웹 제어판에 액세스 할 수 있습니까?

+0

'Aliases'가 null을 반환했습니다. –

+0

'EYZR370'을 IP 주소로 변환 해 보았습니까? – Howie

+0

업데이트 된 질문을보고 IP 주소를 찾는 올바른 방법을 사용하는지 확인하십시오 –

관련 문제