Ajuda com Java (cliente/servidor) usando método bolha

Estou com um trabalho em java, porém nunca tive aula em java, apenas sei algumas coisas que aprendi sozinho.

O trabalho é fazer cliente/servidor, onde o cliente envia 4 números desordenado para o servidor que faz o papel de ordenada esses números enviado pelo cliente usando o método bolha e enviar esses números ordenado para o cliente.

Consegui fazer fazer a comunicação do cliente para o servidor que envia os números desordenado pro servidor que ordenada esses números. Porém não consigo enviar esses números para o cliente. Pesquisei bastante porém estou nessa luta.

O código é esse:

Servidor:

[code]import java.net.;
import java.io.
;
import java.util.*;
import static java.io.FileDescriptor.out;

public class Servidor {
static int i,j,aux;
static int cliente1[] = new int[4];

public static void main(String[] args) 
{ 
    
    try
    {
        Socket cliente;
        
        try (ServerSocket servidor = new ServerSocket(23456))
        {
            System.out.println("Ouvindo porta 23456...");
            cliente = servidor.accept();
            DataInputStream in = new DataInputStream(cliente.getInputStream());
            
            System.out.println("Conexão aceita : " +cliente.getInetAddress().getHostAddress());
            try (Scanner scan = new Scanner(cliente.getInputStream())) 
            {

                while (scan.hasNextInt()) 
                {
                    for(i = 0; i < 4; i++)
                    {
                        cliente1[i] = scan.nextInt();
                    }
                      			
                    //Método bolha
                    for(i = 0; i<4; i++)
		{ 
                        for(int j = 0; j<3; j++)
                        { 
                            if(cliente1[j] > cliente1[j + 1])
                            { 
                                aux = cliente1[j]; 
                                cliente1[j] = cliente1[j+1]; 
                                cliente1[j+1] = aux; 
                            }
                        }


                    }
                   
         System.out.println("\nOrdenado");
         for(i = 0; i<4; i++)
         { 
            System.out.println(" "+cliente1[i]); 
         }
                
                }
            
            }

        }
                    
    }
    
    catch(IOException e) 
    {
        System.out.println("Erro ao tentar abrir comunicacao.");
    }
}

}
[/code]

Cliente:

[code]import java.net.;
import java.io.
;
import java.util.*;

public class Cliente {

public static void main(String[] args) throws IOException {
           
   try{
        Socket cliente = new Socket("127.0.0.1", 23456); 
       
        System.out.println("Conexao no [127.0.0.1:23456] realizada!");
       
        Scanner teclado = new Scanner(System.in);
        PrintStream saida = new PrintStream(cliente.getOutputStream());
           
           while (teclado.hasNextInt()) {
               saida.println(teclado.nextInt());
            }
       }

   catch (IOException e) {
        System.out.println("Erro ao tentar estabelecer comunicacao.");
   }

}

}[/code]

Alguém poderia me ajudar ?
ficarei muito agradecido.