내가 만든 작은 자바 게임의 경우 동일한 (가정용) 네트워크에있는 두 대의 컴퓨터에서 재생할 수 있기를 원합니다. RMI를 사용하고 192.168.2.3의 ipaddress에서 컴퓨터를 사용해 보려고합니다. 192.168.2.6의 다른 컴퓨터에서이 ipaddress의 레지스트리를 검색 할 수는 있지만 컴퓨터가 연결된 네트워크의 모든 ipaddresses 목록을 표시하고 싶습니다. 그들이 실제로 게임을 호스트하는 경우에만 가능합니다. 네트워크에있는 모든 컴퓨터를 나열하는 방법?
는 지금에 유래 여기에 몇 가지 질문을 시도 :- How to enumerate IP addresses of all enabled NIC cards from Java?
- How can I find all locally bound IP addresses in Java?
- How to get a list of IP connected in same network (subnet) using Java
- Why does InetAddress.isReachable return false, when I can ping the IP address?
,하지만 난 내 모든 컴퓨터를 필요가 있다고 생각하지 않습니다 네트워크 인터페이스 및 InetAddress.isReachable() 항상 (비록 내가 cmd를 통해 ping을 할 수 있고 방화벽이 꺼져 있어도) 명령 행을 호출한다.
"ping -n 1 192.168.2.i"는 모든 i에 대해 0 < = i < = 255,
은 항상 정상으로 종료되므로 항상 true입니다.
JVM이 실행되는 컴퓨터와 동일한 네트워크에있는 컴퓨터의 ipaddress 목록을 얻는 가장 좋은 방법은 무엇입니까?
나는 약간 혼란 스럽다. 인터페이스가 현재 컴퓨터의 ipaddress (es)만을 제공한다고 생각했지만 두 번째 글 머리 기호에서 다른 컴퓨터의 ipaddress를 얻을 수 있음을 암시합니다. 다른 컴퓨터의 IP 주소를 어떻게 얻을 수 있는지 보여주는 예제 (링크)를 줄 수 있습니까? –
@LiontackLightning 그렇지 않습니다. NIC의 * 브로드 캐스트 주소 *로 보냅니다. NIC는 여전히 로컬입니다. – EJP
@LiontackLightning 로컬 인터페이스에서 브로드 캐스트 주소를 가져올 수 있습니다. 브로드 캐스트는 네트워크상의 모든 컴퓨터에 도달합니다. 특정 도착지 주소를 알 필요가 없습니다. 내 게시물을 업데이트하고 예제 링크를 포함 시켰습니다. – Prometheus