Я пытаюсь получить некоторые данные с удаленного сервера. Для этого я использую HttpURLConnection
. Проблема в том, что иногда сервер после подключения устанавливается просто зависает или что, не закрывает соединение, и я там вишу. Кроме того, что вешали нить приобрел замок, так что все все остальные нити просто сосательный: D Код:Java http read timeout issue
try {
URL url = new URL(urlString);
URLConnection urlConnection = url.openConnection();
HttpURLConnection connection = (HttpURLConnection) urlConnection;
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName(CharEncoding.UTF_8)));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
Последняя линия, где мы повешение. Я нашел метод setConnectTimeout(timeout)
, но кажется, что это не так, потому что это таймаут, прежде чем соединение будет установлено. Каков общий способ решения таких ситуаций?
тайм-аут, прежде чем соединение установлено? то вы бы не дошли до цикла while, или я что-то не понимаю? – posdef
Извините, я написал здесь непонятно. Я хотел найти такой метод в классе HttpURLConnection;) В моем коде не было тайм-аутов. – whatswrong
не беспокоится. Я рад, если бы смог помочь решить проблему, что бы это было :) – posdef