의 ip 주소를 찾을 원격에서 개체.원격으로 사용 가능하도록
문제
내가 있는 클라이언트-서버 응용 프로그램을 사용하는.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 주소에[],을 포함하는 모든 해결을 위한 주소는 호스트.
제휴하지 않습니다 StackOverflow