Sobes.tech
Junior — Middle

Jakie komponenty realizują funkcjonalność połączeń socket w systemie?

sobes.tech AI

Odpowiedź od AI

W Androidzie funkcjonalność połączeń socket zwykle realizuje się za pomocą następujących komponentów:

  • Socket z API Java (java.net.Socket) — podstawowa klasa do tworzenia połączeń TCP.
  • ServerSocket — do obsługi części serwera, nasłuchiwania nadchodzących połączeń.
  • InputStream i OutputStream — do odczytu i zapisu danych przez socket.
  • AsyncTask, Thread lub Coroutine — do wykonywania operacji sieciowych w osobnym wątku, aby nie blokować interfejsu użytkownika.

Możesz także korzystać z bibliotek, np. OkHttp dla połączeń WebSocket, które upraszczają pracę z socketami.

Przykład tworzenia socketu TCP w osobnym wątku:

new Thread(() -> {
    try (Socket socket = new Socket("example.com", 1234)) {
        InputStream in = socket.getInputStream();
        OutputStream out = socket.getOutputStream();
        // odczyt i zapis danych
    } catch (IOException e) {
        e.printStackTrace();
    }
}).start();