los contenidos de buf son google.com en formato byte. entonces mi pregunta es ¿qué leerá "in"? \ Comprender getInputStream y getOutputStream

Aquí hay un código

import java.io.*;
import java.net.*;
public class Whois
{
    public static void main(String[] args)
        throws Exception
    {
        // TODO Auto-generated method stub
        int c;
        Socket s = new Socket("whois.internic.net",43);
        *InputStream in = s.getInputStream();
        *OutputStream out = s.getOutputStream();
        String str = (args.length == 0 ? "osborne.com" : args[0] ) + "\n";
        byte buf[] = str.getBytes();
        *out.write(buf);
        System.out.print("hey baby");
        while ((c=in.read()) != -1)
        {
            System.out.print((char) c);
        }
        s.close();
    }
}

He marcado las declaraciones que tengo problemas para entender. No entiendo qué objeto OutputStreamout se mantendrá cuando sea asignados.getOutputStream() y cual es la necesidad de pasarbuf aout porout.write(buf) .

Aprendí Streams de entrada y salida usando archivos pero no entiendogetinputstream youtputstreamsLo he buscado en Google, léalo aquí en SO, así como en muchos libros diferentes y también en documentos de Oracle. por favor discuta en detalle.

Sé cómo leer archivos y cómo escribirles, pero aquí no entiendo cuál es la necesidad de pasarbuf matriz que contiene solo una cadena. Lo que quiero preguntar es que cuando tiene el flujo de entrada del zócalo, ¿por qué no podemos leer directamente de él? ¿Qué es exactamente un zócalo?inputstream youtputstream?

Encontré algo aquí en SO, aquí está el enlace "Redes Java: explique InputStream y OutputStream en Socket", aquí una respuesta de ADN dice

En Java, para enviar datos a través del socket, se obtiene un OutputStream (1) y se escribe en el OutputStream (se generan algunos datos) ".

Esto me confunde, cuando outputStream se usa para enviar datos a través del socket, ¿cuál era la necesidad de out.write (buf)? ¿Por qué necesitamos enviar "google.com" a outputStream?

Respuestas a la pregunta(3)

Su respuesta a la pregunta