3 대의 PC가 있고 다른 하나는 클라이언트입니다. 클라이언트는 서버 로컬 IP를 입력하여 서버에 연결합니다. 모두 잘 작동하지만 라우터가 다시 시작되고 서버에 다른 로컬 IP가 할당되면 문제가 발생합니다. 이제 클라이언트에 서버의 IP 주소를 다시 입력해야합니다. 로컬 정적 IP를 사용하여이 문제를 해결할 수 있지만 로컬 고정 IP를 설정하지 않고 연결할 수 있습니까?로컬 고정 IP없이 로컬 컴퓨터 연결
편집 : TCP 소켓 사용.
3 대의 PC가 있고 다른 하나는 클라이언트입니다. 클라이언트는 서버 로컬 IP를 입력하여 서버에 연결합니다. 모두 잘 작동하지만 라우터가 다시 시작되고 서버에 다른 로컬 IP가 할당되면 문제가 발생합니다. 이제 클라이언트에 서버의 IP 주소를 다시 입력해야합니다. 로컬 정적 IP를 사용하여이 문제를 해결할 수 있지만 로컬 고정 IP를 설정하지 않고 연결할 수 있습니까?로컬 고정 IP없이 로컬 컴퓨터 연결
편집 : TCP 소켓 사용.
라우터의 DHCP 기능을 사용하기 때문에 문제가 발생합니다. DHCP의 D는 "Dynamic"의 약자이므로 IP 주소가 경우에 따라 변경 될 수 있습니다.
가장 간단한 해결책은 'DHCP를 사용하지 않기'입니다.
는[솔루션의 상세보기] 당신의 PC를위한
할당 고정 IP 주소 및 IP 그들 가운데에 액세스 주소를 것을 사용합니다.
일반적으로 라우터는 192.168.1.1에서 192.168.1.255 범위의 로컬 IP 주소를 사용하며 192.168.1.1은 라우터 자체에 사용됩니다.
3 대의 PC에 각각 192.168.1.2, 192.168.1.3 및 192.168.1.4의 IP 주소를 사용할 수 있습니다. 서버를
http://<server>/isthisme
같은 고유 엔드 포인트, 무언가를 제공에 대해 당신은 어떻게 할 수
사실 일반 사용자에게 이것을 묻는 것은 그들에게 어려울 수 있습니다. 모든 사용자가 고정 IP 주소를 정의 할 수있는 것은 아닙니다. 그게 내가이 해결책을 최후로 남겨 두었던 이유입니다.고마워요 :) – xmen
새 IP 주소가 라우터의 DHCP 기능에 의해 서버에 설정되면 새 IP 주소를 어떻게 알 수 있습니까? 서버의 MAC 주소를 알고있는 경우 ARP 프로토콜을 사용하여 라우터의 IP 주소를 가져올 수 있습니다. 안타깝게도 대부분의 사용자는 ARP와 같은 하위 프로토콜을 사용하는 코드를 프로그래밍하지 않았습니다. –
한 가지, 그럼 그냥 모든 IP 네트워크에 adresses를 통해 이동 한 다음 해당 엔드 포인트에 도달하려고합니다. 귀하의 서버 인 200
을 반환하는 서버.
for (int p1 = 1; p1 < netmask[0]; p1++) {
for (int p2 = 1; p2 < netmask[1]; p2++) {
for (int p3 = 1; p3 < netmask[2]; p3++) {
for (int p4 = 1; p4 < netmask[3]; p4++) {
var ip = new IPAdress(p1, p2, p3, p4);
if (trytoreach(ip)) {
return ip;
}
}
}
}
}
이것은이다 네가 갈 수있는 방법. 최적화되지 않았으므로 부담없이 사용해주세요 ^^
여기에 https://gist.github.com/DerKnerd/ff9c34087955efce0970이라는 요지가 있습니다. 당신이 알아야 할 서브 네트 마스크가있는 부분. 나는 그것이 효과가 있다고 보장하지는 않는다.
호스트 이름을 사용할 수 있습니까? – Knerd
클라이언트와 서버 간의 연결 특성은 무엇입니까? TCP? UDP? 좀 더 높은 수준의 프로토콜? –
왜 로컬 DNS 이름을 사용하지 않습니까? – Rohit