Я надеюсь, что вы можете помочь мне с моей проблемой. Я должен создать экземпляр http-соединения и выполнить вызов get для сервера.
После этого звонка я должен периодически проверять, отправил ли мне сервер некоторые данные (соединение не должно быть закрыто после получения первых данных). Если это произойдет, тогда мне придется проанализировать эти данные, передать их в действие и снова ждать.
Моя проблема - понять, правильно ли я делаю эту вещь. Вот мой код
try {
URL url = getUrl();
URLConnection urlConn = url.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection) urlConn;
httpConnection.setRequestMethod("GET");
httpConnection.connect();
while(true) {
sleep(5000);
int responseCode = httpConnection.getResponseCode();
if(responseCode == HttpURLConnection.HTTP_OK) {
InputStream inputStream = httpConnection.getInputStream();
String response = null;
if(inputStream.available() > 0) {
long length = inputStream.available();
byte[] bytes = new byte[(int) length];
inputStream.read(bytes);
response = new String(bytes, "UTF-8");
}
}
}
} catch(Exception e) {
e.printStackTrace();
}
getUrl()
функция дает мне полный URL-адрес, который мне нужно вызвать.
Затем я подключаюсь через httpConnection.connect();
.
во время итерации соединение уже открыто и способно принимать входящие данные?
Я прошу прощения за мой английский. Большое спасибо
Francesco