2012-11-26 5 views
2

EDIT :이 질문은 프로젝트 그룹의 다른 누군가가 작성했습니다. 아주 잘 말하지 않았거나 유익하지 못하다. 그래서 우연히 우연히 발견되면 어떤 사고가 있었는지 알려주는 것이다.IP 주소가 동일한 IP 주소로 연결되지 않습니다

서버는 클라이언트에게 메시지를 통해 IP 주소를 보낸다. 그러면 고객이 메시지를 읽고이를 읽음으로써 IP 주소를 표시합니다. 내가 올바른 번호를 수집하지만, 보낸 IP 주소로 돌아 가면 연결되지 않습니다. 동일한 주소로도 연결되지 않는 이유는 무엇입니까? 코드는 다음과 같습니다.

byte IPAddr[] = Arrays.copyOfRange(message, 3, 7); //and that is equal to "0.0.0.1" 

try {  
    InetAddress IP = InetAddress.getByAddress(IPAddr);  
    Socket clientSocket = new Socket(IP, returnPort);  
    System.out.println("Connected!");  
} 
+0

"localhost"또는 127.0.0.1을 소켓의 소켓에 입력하면 클라이언트와 서버가 연결됩니다. clientSocket = new Socket (IP, returnPort) – Ryanman

답변

2

서버에 여러 IP 주소가 있습니다. 이 기능을 사용하려면 클라이언트에 제공하는 주소는 외부 IP 주소 여야합니다. 루프백 주소 127.0.0.1이 서버의 관점에서 올바른 IP 임에도 불구하고 작동하지 않는 한 가지 예가 있습니다.

+0

답변 해 주셔서 감사합니다. 불행히도 이것은 우리 서버의 문제 였고 우리의 문제가 주어 졌을 때 그 루프가 어떻게 구조화되었는지를 보여줍니다. 예를 들어 외부 주소가 제공되어야하는 것이 맞습니다. 우리의 경우, 우리 서버는 바이트 배열을 반환했습니다. 우리는 로컬 루프 테스트에서 0.0.0.1의 IP를 보여주었습니다. 조건부 루프를 수정하면 모든 것이 올바르게 완료됩니다. 누구나 이와 비슷한 질문이 있고 명확한 설명이 필요한 경우 언제든지 회신 해주십시오. 다시 한번 @ 잭. – Ryanman

관련 문제