Buongiorno a tutti.
Oggi ho iniziato a studiare i socket con java, il che mi ha davvero confuso.
Ho guardato la guida di questo sito per quanto riguarda questo aspetto, ma non ho capito una parte che adesso scrivo
(codice per la creazione del server)
codice:
OutputStream s1out = s1.getOutputStream();
    BufferedWriter bw = new BufferedWriter(
     new OutputStreamWriter(s1out));

    // Il server invia la risposta al client
    bw.write(“Benvenuto sul server!\n”);

    // Chiude lo strema di output e la connessione 
    bw.close();
    s1.close();
    System.out.println(“Chiusura connessione effettuata\n”);
Vi metto il link alla guida così potrete vedere l'intero codice.

http://www.html.it/articoli/i-socket-4/

Vorrei capire che cosa sta facendo il programma in questa fase, ovvero che cosa è s1, cosa è la classe BufferWriter ecc.

Grazie in anticipo e...