Gli Stream sono delle classe attraverso qui avviene l'invio e la ricezione dei dati che sono gestiti in maniera simile alla scrittura e alla lettura dei file di dati. A ogni socket sono associati un flusso di input, da cui i programmi possono ricevere i dati e un flusso di output, su cui i programmi possono inviare i dati in rete.