의 ip 주소를 찾을 원격에서 개체.원격으로 사용 가능하도록

StackOverflow https://stackoverflow.com/questions/251150

  •  05-07-2019
  •  | 
  •  

문제

내가 있는 클라이언트-서버 응용 프로그램을 사용하는.net remoting.클라이언트에 있는 근거리 통신망과 나는 알고 자신의 위치에 있습니다.

때때로 우리는지 파일 전송으로 최적화하고 싶을 결정하는 경우 클라이언트에서는 사실에는 동일한 컴퓨터 서버는(그것은 확실히 가능).이 경우에는,나만이 할 필요가 있습니다.복사합니다.

말하자는 클라이언트는 원격법:

RemoteFile 서버입니다.GetFile(문자열은 경로);

어떻게 확인할 수 있습니다면 클라이언트(요청자가)는 같은 컴퓨터에서?

도움이 되었습니까?

해결책

당신이 알고 있는 경우 IP 주소를 위해 서버는 당신을 호출하고 원격에서 방법을 사용할 수 있습니다이 방법을 말하는지 당신은 같은 컴퓨터에서:

using System.Net;

private bool CheckIfServer(IPAddress serverIP)
{
    // Get all addresses assigned to this machine
    List<IPAddress> ipAddresses = new List<IPAddress>();
    ipAddresses.AddRange(Dns.GetHostAddresses(Dns.GetHostName()));

    // If desirable, also include the loopback adapter
    ipAddresses.Add(IPAddress.Loopback);

    // Detect if this machine contains the IP for the remote server
    // Note: This uses a Lambda Expression, which is only available .Net 3 or later
    return ipAddresses.Exists(i => i.ToString() == serverIP.ToString());
}

알지 못하는 경우 Ip 주소에 대한 원격 서버에 쉽게 얻을 수 있습니다 그것을 사용하여 서버의 호스트 이름을 다음과 같다:

Dns.GetHostAddresses("remote_host_address")

이를 반환합 Ip 주소에[],을 포함하는 모든 해결을 위한 주소는 호스트.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top