Sobes.tech
Junior — Middle

Jakie protokoły sieciowe używałeś w swojej praktyce?

sobes.tech AI

Odpowiedź od AI

W praktyce z Java często używa się następujących protokołów sieciowych:

  • TCP (Transmission Control Protocol) — do niezawodnego przesyłania danych, na przykład przy tworzeniu aplikacji klient-serwer z użyciem gniazd.
  • UDP (User Datagram Protocol) — dla aplikacji, w których ważna jest szybkość, a nie niezawodność, na przykład w strumieniowym wideo lub grach.
  • HTTP/HTTPS — do komunikacji z usługami internetowymi i API REST.
  • FTP — do przesyłania plików.

Przykład użycia gniazda TCP w Java:

import java.net.*;
import java.io.*;

public class SimpleClient {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("example.com", 80);
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

        out.println("GET / HTTP/1.1\r\nHost: example.com\r\n\r\n");
        String responseLine;
        while ((responseLine = in.readLine()) != null) {
            System.out.println(responseLine);
        }

        in.close();
        out.close();
        socket.close();
    }
}