Post con tag Web e Network

Host Lookup in Java

La creazione di un utility che converte un hostname in un indirizzo IP e viceversa può essere decisamente semplice, utilizzando la classe java.net.InetAddress.
In particolare, il programma accetterà un hostname o un IP come argomento (quale dei due sia stato passato viene deciso con una funzione che sfrutta le espressioni regolari, e quindi le classi Pattern e Matcher) e lo trasformerà di conseguenza.

Continua >

Echo Server in Java

Il codice che segue implementa un semplice Echo Server in Java.
Il programma crea un ServerSocket che resta in attesa di una connessione. Quando riceve una connessione in ingresso, legge i dati in ingresso fino al loro termine o fino a quando non viene incontrato il carattere di newline, ed effettua l’echo.
Il server si limita a ricevere, rispondere e chiudere la connessione, senza rimanere in attesa di ulteriori input.

Continua >

Rappresentazione di un indirizzo IP in Java

In Java, un indirizzo IP (sia IPv4 che IPv6) è rappresentato come un oggetto di classe java.net.InetAddress che, solitamente, contiene sia l’hostname che l’indirizzo IP.

La classe InetAddress non ha costruttori pubblici quindi la creazione di un’istanza di tale classe è affidata a diversi metodi statici:

// determina l'IP dell'indirizzo dell'host specificato
static InetAddress getByName(String host)
    throws UnknownHostException

// determina tutti gli IP dell'indirizzo dell'host specificato
static InetAddress[] getAllByName(String host)
    throws UnknownHostException

// ricava un InetAddress dall'indirizzo IP specificato
static InetAddress getByAddress(byte[] addr)
    throws UnknownHostException

// ricava un InetAddress dal nome dell'host e dall'IP specificato
static InetAddress getByAddress(String host, byte[] addr)
    throws UnknownHostException

// ritorna l'host locale
static InetAddress getLocalHost()
    throws UnknownHostException

Continua >

Gestire gli URL in Java

In Java, un URL (Uniform Resource Locator) è gestito utilizzando la classe java.net.URL.
Il vantaggio di utilizzare una classe specializzata rispetto ad una semplice stringa è che, in realtà, un URL è composto da più componenti, come ad esempio l’host, la porta, la stringa di query ecc.
Tale classe permette di accedere a questi componenti utilizzando gli appositi metodi getter

Continua >