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();