2017-09-26 5 views
1

네트워크상의 장치가 Java를 사용하여 웹 서버를 실행하는지 여부를 확인하려고합니다. 이렇게하려면 Apache의 HttpClient를 사용하고 있습니다. 요청을 보내고 장치가 웹 서버를 실행하는 경우 응답을받습니다. 매우 간단합니다. 웹 서버가 다음 실행되고 있지 않은 경우"연결 거부 됨"예외와 HttpClient의 시간 초과 차이점

그러나, 내가 관찰 한 두 가지 작업이

  • 요청은 무시되고 제한 시간은 예외가 발생합니다
  • 발생합니다. 특히, 다음과 같이 표시됩니다

    org.apache.http.conn.HttpHostConnectException이 : 연결 거부 :

인가 연결 [/192.168.12.133] 실패는 192.168.12.133:80에 연결 거기에 아무것도 연결을 거부하는 "연결 거부"받을 때 연결할 노력하고있어 장치에 대해 유추 수있는 모든 건가요?

편집 :

그냥 명확히하기 : 내가 일을하고있어 로컬 네트워크에있는 장치에 대해이 실행 중입니다. 이는 NAS 박스, 라우터, Windows 컴퓨터, iPads 등을 의미합니다. 일부는 웹 서버가 내장되어 있으며 다른 서버는 포함되지 않습니다. 대부분은 방화벽이 없습니다.

나는 또한 장치가 가동되고 있다는 것을 100 % 확실하게 알고 있습니다.

+0

이 내용을 확인하십시오. https://serverfault.com/questions/521359/why-do-some-connections-time-out-and-others-get-refused –

답변

1

당신은 100 % 확실하게 무엇을 추론 할 수는 없지만 :

  • 연결 제한 시간이 아마 의미 중 하나는 호스트/포트는 방화벽, 또는 호스트가 "OFF"입니다.
  • 연결이 거부 됨은 아마도 호스트가 연결하려는 포트에서 서비스를 실행하고 있지 않다는 것을 의미합니다.