HTTP 요청을하기 위해 HttpURLConnection 클래스를 사용하고 있습니다. 내 코드는 내가 InputStream 객체를 검색하면 내가 데이터에 대한 몇 가지 처리를 할 this-HttpURLConnection.getInputStream() blocks
while(true){
try{
connection=(HttpURLConnection)url.openConnection();
connection.setDoOutput(true);
connection.setConnectTimeout(2*1000);
InputStream in=connection.getInputStream();
}
catch(SocketTimeOutException e){}
catch(IOException e){}
}
같은 것을 보인다. 내 문제는 만약 내가 충분히 오래 프로그램을 실행 시키면, getInputStream 블록에 대한 호출이 결코 끝나지 않는다는 것이다.
누락 된 부분이 있습니까? 모든 포인터 또는 도움을 크게 주시면 감사하겠습니다. 감사.
'while (true)'루프에서 이런 종류의 것을'catch (SocketTimeOutException e) {}'하지 마십시오. 프로그램을 정상적으로 디버깅하거나 중지하는 것이 매우 어려울 것입니다. – artbristol
@artbristol 당신이 무엇을 말하려고하는지 ... 그것은 우리의 생산 코드에서입니다 :) –
@artbristol은 당신이'connection.setDoOutput (true)'를 주석 처리하려고했던 것과 별개로 당신이 전화를 할 것을 기대하고 있습니다. 'connection.getOutputStream()'및 HTTP 본문에 무언가를 작성하십시오 –