Como chamo a String certa?

1 resposta
S

Pq a message do cliente, ele pega a menssagem e a do servidor pega a “”… os programas estão funcionando… só a descripitografia do servidor q não está funcionando… Será qpóde me ajudar… não posso colocar essa duvida no forum pois é um trabalho da facudlade
o codigo segue abaixo:
a duvida é na linha 122 to explicando lá…
Código:

//Configuraum Server que receberá uma conexão 
//de um cliente, enviará um string para o cliente, 
//e fechará a conexão; 
import java.io.*; 
import java.net.*; 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

public class Servidor extends JFrame{ 
   private JTextField enter; 
    
   private JTextArea display; 
   ObjectOutputStream output; 
   ObjectInputStream input; 
   String message=""; 
       
    
   public Servidor(){ 
      super("Servidor"); 
       

      Container c= getContentPane(); 
      try { 
         JOptionPane.showMessageDialog(null,"O Host Name/IP do servidor é:\n"+InetAddress.getLocalHost(), 
         "IP do Servidor",JOptionPane.INFORMATION_MESSAGE); 
      } 
      catch (UnknownHostException e) { 
             e.printStackTrace(); 
      } 

      enter= new JTextField(); 
      enter.setEnabled(false); 
      enter.setToolTipText("Digite o texto e <Enter>"); 

      enter.addActionListener(  // evento do <enter> 
         new ActionListener(){ 
            public void actionPerformed(ActionEvent e){ 
               sendData(e.getActionCommand()); 
               enter.setText(""); 
            } 
         } 
      ); 

      c.add(enter, BorderLayout.SOUTH); 
       
      display=new JTextArea(); 
      display.setToolTipText("Mostra Status e Chat"); 
      c.add(new JScrollPane(display), BorderLayout.CENTER); 
       
      JButton botao1=new JButton("Enviar"); 
      c.add(botao1, BorderLayout.EAST); 
      botao1.setToolTipText("Enviar a Menssagem"); 
      botao1.setMnemonic('E'); 
      botao1.addActionListener(  //evendo do botao1 
         new ActionListener() { 
            public void actionPerformed( ActionEvent e ){ 
               sendData(enter.getText()); 
               enter.setText(""); 
              } 
            } 
      ); 
       
          
      JButton botao2=new JButton("Descrip."); 
      c.add(botao2, BorderLayout.WEST); 
      botao2.setToolTipText("Descriptografa a Última Menssagem"); 
      botao2.setMnemonic('D'); 
      botao2.addActionListener( 
         new ActionListener() {    
            public void actionPerformed( ActionEvent e ){ 
               display.append("\nCLIENTE>>>"+/*fazDescrip(*/message)/*)*/; //Chama fç "fazDescrip(String)" com o clique do botao2 
                
            } 
         } 
      ); 
       
      //setSize(400,250); 
      setBounds(310, 250, 400,250); 
       
      setVisible(true); 
      show(); 
   } 
    
   public void runServidor(){ 
       
      ServerSocket servidor; 
      Socket conexao; 
      int contador=1; 
       
      try{ 
         //passo 1: Cria um ServerSocket. 
         String portalida=JOptionPane.showInputDialog("Digite o Número da Porta (Acima de 256):");      // 
         int porta=Integer.parseInt(portalida);                                         // 
         String tamfilalida=JOptionPane.showInputDialog("Digite o Tamanho da Fila:");  // 
         int tamfila=Integer.parseInt(tamfilalida);                                   // 
         servidor=new ServerSocket(porta,tamfila);                                   // 
                  //server= new ServerSocket(5000, 100); 
          
         while(true){ 
            //passo 2: Espera conexão 
            display .setText("Aguardando conexão\n");//Waiting for connection 
            conexao=servidor.accept(); 
             
            display.append("Conexão"+contador+"recebido de:"+conexao.getInetAddress().getHostName()); 
            //Connection      received from: 
            //Passo 3: Obtém os fluxos de entrada e saída 
            output=new ObjectOutputStream(conexao.getOutputStream()); 
            output.flush(); 
            input=new ObjectInputStream(conexao.getInputStream()); 
            display.append("\nAdquirido fluxos de I/O\n");//Got I/O streams 
             
            //Passo 4: Processa conexão 
            String message="Conexão bem sucedida";//Connection successful 
            output.writeObject(message); 
            output.flush(); 
            enter.setEnabled(true); 
             
            do{ 
               try{ 
                  message=(String) input.readObject(); 
/*122*/                  display.append("\nCLIENTE>>>"+message);//************  Quero q o evento do botao2 chame o metodo fazDescrip e tenha como parametro a "message" desta linha...  ele tapegando a global 
                  display.append("\nCLIENTE>>>"+message); 
                  display.setCaretPosition(display.getText().length()); 
                  //String message1=message; 
                   
               } 
                
               catch (ClassNotFoundException cnfex){ 
                  display.append("\nTipo de caracter desconhecido");//Unknown object type received 
               } 
                
            }while(!message.equals("CLIENTE>>>ARCVDN") || !message.equals("CLIENTE>>>FINALE"));//Fecha conexão  ARCVDN == FINALE 
             
            //Passo 5: Fecha a conexão 
            display.append("\nUsuário encerrou conexão");//User terminated connection 
            enter.setEnabled(false); 
            output.close(); 
            input.close(); 
            conexao.close(); 
             
            ++ contador; //Incrementa o numero de conexões 
         } 
      } 
      catch (EOFException eof){ 
         System.out.println("Cliente encerrou conexão");//Client terminated connection 
      } 
      catch (IOException io){ 
         io.printStackTrace(); 
      } 
   } 
    
    
    
   private void sendData(String s){ 
      try{          
         output.writeObject(fazCrip(s));  // APARECE NO CLIENTE   chamando a função "fazCrip(String)" incrementando em meaux 
         output.flush(); 
         display.append("\nSERVIDOR>>> "+s);   //APARECE NO SERVIDOR SERVIDOR ENVIA E APARECE NO SERVIDOR 
      } 
      catch(IOException cnfex){ 
         display.append("\nErro na Escrita");//Error writing object 
      } 
   } 
    
    
    
    
   private String fazCrip(String meaux){ 
      String text=""; 
      int tamtexto=meaux.length(); // conta string 
         for (int i=0;i<tamtexto;i++){ 
            char letra=meaux.charAt(i); 
            switch (letra){ 
               case 'a':text+="v";break;case 'A':text+="V";break;       
               case 'e':text+="n";break;case 'E':text+="N";break; 
               case 'i':text+="r";break;case 'I':text+="R";break;             
               case 'o':text+="s";break;case 'O':text+="S";break;                         
               case 'u':text+="m";break;case 'U':text+="M";break;             
               case 'l':text+="d";break;case 'L':text+="D";break;             
               case 'b':text+="p";break;case 'B':text+="P";break;                         
               case 'c':text+="h";break;case 'C':text+="H";break;                         
               case 'w':text+="f";break;case 'W':text+="F";break;             
               case 'm':text+="u";break;case 'M':text+="U";break;                   
               case 'd':text+="o";break;case 'D':text+="O";break;                         
               case 'p':text+="i";break;case 'P':text+="I";break;                         
               case 'h':text+="e";break;case 'H':text+="E";break;             
               case 'f':text+="a";break;case 'F':text+="A";break;          
               case 'v':text+="w";break;case 'V':text+="W";break;          
               case 'n':text+="c";break;case 'N':text+="C";break;    
               case 'r':text+="b";break;case 'R':text+="B";break;             
               case 's':text+="l";break;case 'S':text+="L";break; 
               case '/':text+="!";break; 
               case '$':text+="?";break; 
               case '*':text+="@";break; 
               case '#':text+=".";break; 
               case '.':text+="/";break; 
               case '@':text+="$";break; 
               case '?':text+="*";break; 
               case '!':text+="#";break; 
               case '0':text+="7";break; 
               case '3':text+="9";break; 
               case '5':text+="8";break; 
               case '8':text+="4";break; 
               case '9':text+="6";break; 
               case '7':text+="0";break; 
               case '1':text+="3";break; 
               case '2':text+="5";break; 
               case '4':text+="2";break; 
               case '6':text+="1";break; 
               default:text+=letra;break; 
            }          
         } 
      return (text);       
   } 
    
    
   private String fazDescrip(String meaux){    //Funçao para Descripitografar 
      String text=""; 
      int tamtexto=meaux.length(); // conta string 
      for (int i=0;i<tamtexto;i++){ 
         char letra=meaux.charAt(i); 
         switch (letra){    
            case 'v':text+="a";break;case 'V':text+="A";break; 
            case 'n':text+="e";break;case 'N':text+="E";break; 
            case 'r':text+="i";break;case 'R':text+="I";break; 
            case 's':text+="o";break;case 'S':text+="O";break; 
            case 'm':text+="u";break;case 'M':text+="U";break; 
            case 'd':text+="l";break;case 'D':text+="L";break; 
            case 'p':text+="b";break;case 'P':text+="B";break; 
            case 'h':text+="c";break;case 'H':text+="C";break; 
            case 'f':text+="w";break;case 'F':text+="W";break; 
            case 'u':text+="m";break;case 'U':text+="M";break; 
            case 'o':text+="d";break;case 'O':text+="D";break; 
            case 'i':text+="p";break;case 'I':text+="P";break; 
            case 'e':text+="h";break;case 'E':text+="H";break; 
            case 'a':text+="f";break;case 'A':text+="F";break; 
            case 'w':text+="v";break;case 'W':text+="V";break; 
            case 'c':text+="n";break;case 'C':text+="N";break; 
            case 'b':text+="r";break;case 'B':text+="R";break; 
            case 'l':text+="s";break;case 'L':text+="S";break; 
            case '!':text+="/";break; 
            case '?':text+="$";break; 
            case '@':text+="*";break; 
            case '.':text+="#";break; 
            case '/':text+=".";break; 
            case '$':text+="@";break; 
            case '*':text+="?";break; 
            case '#':text+="!";break; 
            case '7':text+="0";break; 
            case '9':text+="3";break; 
            case '8':text+="5";break; 
            case '4':text+="8";break; 
            case '6':text+="9";break; 
            case '0':text+="7";break; 
            case '3':text+="1";break; 
            case '5':text+="2";break; 
            case '2':text+="4";break; 
            case '1':text+="6";break; 
            default:text+=letra;break; 
         }          
      }       
      return (text); 
   } 
   public static void main(String args[]){ 
      Servidor app=new Servidor(); 
       
      app.addWindowListener(new WindowAdapter(){ 
         public void windoClosing(WindowEvent e){ 
            System.exit(0); 
         } 
      } 
      ); 
       
      app.runServidor(); 
   } 
}

1 Resposta

S

Criei uma variavel global (String), vazia, depois la pela linha 122, coloquei essa variavel recebendo o valor da String message…
ai rodou redondo!!!
FUI :smiley: :wink:

Criado 6 de maio de 2004
Ultima resposta 6 de mai. de 2004
Respostas 1
Participantes 1