/ / Jak działa Android HttpURLConnection? - Android, httpurlconnection, połączenie z Internetem

Jak działa Android HttpURLConnection? - Android, httpurlconnection, połączenie z Internetem

pracuję nad HttpURLConnection klasa, aby wykonać jakąś aktywność sieciową z mojej aplikacji. Więc zastanawiam się, jak HttpURLConnection działa wewnętrznie. Przeszedłem przez klasę i odkryłem metodę connect () zdefiniowaną jako streszczenie URLConnection.

Ale nie mogłem znaleźć połączyć() definicja metody. Więc jestem dość ciekawy, że jak HttpURLConnection połączyć się z serwerem.

Mój kod:

        URL url = new URL("https://example.com");
connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("Accept-Encoding", "identity");
connection.setRequestProperty("Authorization", basicAuth);
connection.setRequestProperty("Connection", "keep-alive");
connection.setRequestProperty("Content-type", "");
connection.setRequestProperty("User-Agent", "LibHttp/1.3.8");
connection.setRequestMethod("POST");

connection.connect(); // how it connects //

Proszę, zasugeruj mi jakieś rozwiązanie.

Odpowiedzi:

1 dla odpowiedzi № 1

To bardzo szerokie pytanie. Spróbuję odpowiedzieć na to krótko.

Ilekroć mówimy, że robimy zapytanie http, myustanowić połączenie przez gniazdo z serwerem na porcie 80 (port 443 dla https). Następnie piszemy w gnieździe za protokołem http i czekamy, aż serwer odpowie.

Tutaj jest limit czasu, który możemy ustawić dla ustanowienia połączenia, a następnie ustawić czas, na który będziemy czekać na odpowiedź serwera.

Jest to połączenie synchronizacyjne, co oznacza, że ​​wątek zostanie zablokowany do momentu, w którym serwer odpowie lub nastąpi przekroczenie limitu czasu.