Sobes.tech
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();