Junior — Middle
Kokios komponentės įgyvendina soketų jungčių funkcionalumą sistemoje?
sobes.tech AI
Atsakymas iš AI
Android'e, funkcionalumas soketų ryšiai paprastai įgyvendinami naudojant šiuos komponentus:
- Socket iš Java API (
java.net.Socket) — pagrindinis klasė TCP ryšiams kurti. - ServerSocket — serverio daliai, klausyti įeinančių ryšių.
- InputStream ir OutputStream — duomenų skaitymui ir rašymui per socket.
- AsyncTask, Thread arba Coroutine — tinklo operacijų vykdymas atskirame sraute, kad UI nebūtų blokuojamas.
Taip pat galima naudoti bibliotekas, pvz., OkHttp WebSocket ryšiams, kurios supaprastina darbą su socketais.
Pavyzdys, kaip sukurti TCP socketą atskirame sraute:
new Thread(() -> {
try (Socket socket = new Socket("example.com", 1234)) {
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
// duomenų skaitymas ir rašymas
} catch (IOException e) {
e.printStackTrace();
}
}).start();