Sockets bieten die Endpunkte für die Kommunikation zwischen zwei Maschinen.
import java.net.ServerSocket;
import java.net.Socket;
try (ServerSocket serverSocket = new ServerSocket(8080)) {
Socket clientSocket = serverSocket.accept();
// Kommunikation mit dem Client
} catch (Exception e) {
// Fehlerbehandlung
}
import java.net.Socket;
try (Socket socket = new Socket("localhost", 8080)) {
// Kommunikation mit dem Server
} catch (Exception e) {
// Fehlerbehandlung
}
Java ermöglicht die Erstellung von TCP/IP-Verbindungen durch die
Klassen ServerSocket
und Socket
.
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
try (ServerSocket serverSocket = new ServerSocket(8080)) {
Socket clientSocket = serverSocket.accept();
PrintWriter out = new PrintWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
.println("Hallo Welt");
out.flush();
out} catch (Exception e) {
// Fehlerbehandlung
}
Java bietet mehrere Bibliotheken und Frameworks für die Erstellung von RESTful Webservices, wie z.B. JAX-RS.
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@Path("/hello")
public class HelloResource {
@GET
public String sayHello() {
return "Hello, World!";
}
}
Netzwerkprogrammierung in Java deckt ein breites Spektrum an Möglichkeiten ab, von der niedrigstufigen Socket-Programmierung bis zu hochstufigen RESTful Webservices. Sockets und Ports sind die Grundbausteine für die Netzwerkkommunikation, während höhere Abstraktionsebenen wie RESTful Webservices die Entwicklung verteilter Anwendungen erleichtern.