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

0 respostas
P

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:

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.");
        }
    }


}

Cliente:

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.");
       }

    }

    

}

Alguém poderia me ajudar ?
ficarei muito agradecido.

Criado 9 de novembro de 2013
Respostas 0
Participantes 1