L'apertura di una connessione corrisponde ad una richiesta inviata al programma server tramite la classe Socket, che ha come parametro l'indirizzo IP del server e il numero di Porta. Il risultato dell'apertura di una connessione è la creazione di una socket sul computer client che permette al programma di comunicare con la corrispondente socket presente sul computer server. Perciò, le porte ed i socket permettono di individuare e gestire quali sono gli host in comunicazione tra loro e tramite quale protocollo. Una porta è rappresentata, all'interno di un pacchetto TCP o UDP, da un campo a 16 bit che può assumere un valore tra 0 e 65535. Invece, la combinazione tra indirizzo IP, protocollo di trasporto e numero di porta prende il nome di Socket