cliente del socket (ayuda)

Iniciado por andaluz, 1 Abril 2011, 23:36 PM

0 Miembros y 1 Visitante están viendo este tema.

andaluz

Hola a todos, me gustaria que me ayudaseis a encontrar el fallo que tiene este codigo, me salta la excepcion del primer catch, esta:

this.txa_cliente_B.append("1. Error de E/S con excepcion: "+ex);

y la verdad es que nose cual es el error que tiene el codigo, aver si me pueden ayudar a encontrarlo.

Código (java) [Seleccionar]

import java.io.*;
public class Cliente_B extends javax.swing.JFrame {
   /** Creates new form Cliente_B */
   java.net.Socket sck;
   java.io.DataInputStream dis;
   java.io.DataOutputStream dos;
   java.io.BufferedReader br;
   java.io.File fich_B;

   String mensaje_B, enviar;

   public Cliente_B() {
       initComponents();

       try
       {
           //sck=new java.net.Socket("localhost", this.txt_puerto_cliente_A.getText());
           sck=new java.net.Socket("localhost", 9902);//"aqui va el puerto"
           dis=new java.io.DataInputStream(sck.getInputStream());
           dos=new java.io.DataOutputStream(sck.getOutputStream());
       }
       catch(IOException ex)
       {
           this.txa_cliente_B.append("1. Error de E/S con excepcion: "+ex);
       }
   }

@SuppressWarnings("unchecked")
   // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
   private void initComponents() {

       lbl_titulo_cliente = new javax.swing.JLabel();
       lbl_puerto_cliente_B = new javax.swing.JLabel();
       lbl_ruta_cliente_B = new javax.swing.JLabel();
       txt_ruta_cliente_B = new javax.swing.JTextField();
       txt_puerto_cliente_B = new javax.swing.JTextField();
       jScrollPane1 = new javax.swing.JScrollPane();
       txa_cliente_B = new javax.swing.JTextArea();
       btn_enviar_cliente_B = new javax.swing.JButton();
       btn_recibir_cliente_B = new javax.swing.JButton();

       setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

       lbl_titulo_cliente.setFont(new java.awt.Font("Ubuntu", 3, 24)); // NOI18N
       lbl_titulo_cliente.setForeground(new java.awt.Color(0, 14, 255));
       lbl_titulo_cliente.setText("Cliente B");

       lbl_puerto_cliente_B.setText("Puerto:");

       lbl_ruta_cliente_B.setText("Ruta fichero:");

       txa_cliente_B.setColumns(20);
       txa_cliente_B.setRows(5);
       jScrollPane1.setViewportView(txa_cliente_B);

       btn_enviar_cliente_B.setText("Enviar");
       btn_enviar_cliente_B.addActionListener(new java.awt.event.ActionListener() {
           public void actionPerformed(java.awt.event.ActionEvent evt) {
               btn_enviar_cliente_BActionPerformed(evt);
           }
       });

       btn_recibir_cliente_B.setText("Recibir");
       btn_recibir_cliente_B.addActionListener(new java.awt.event.ActionListener() {
           public void actionPerformed(java.awt.event.ActionEvent evt) {
               btn_recibir_cliente_BActionPerformed(evt);
           }
       });

       javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
       getContentPane().setLayout(layout);
       layout.setHorizontalGroup(
           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGroup(layout.createSequentialGroup()
               .addGap(152, 152, 152)
               .addComponent(lbl_titulo_cliente)
               .addContainerGap(156, Short.MAX_VALUE))
           .addGroup(layout.createSequentialGroup()
               .addGap(112, 112, 112)
               .addComponent(btn_enviar_cliente_B)
               .addGap(68, 68, 68)
               .addComponent(btn_recibir_cliente_B)
               .addContainerGap(116, Short.MAX_VALUE))
           .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
               .addGap(59, 59, 59)
               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                   .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 293, Short.MAX_VALUE)
                   .addGroup(layout.createSequentialGroup()
                       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                           .addComponent(lbl_ruta_cliente_B)
                           .addComponent(lbl_puerto_cliente_B))
                       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 35, Short.MAX_VALUE)
                       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                           .addComponent(txt_puerto_cliente_B, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
                           .addComponent(txt_ruta_cliente_B, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE))))
               .addGap(57, 57, 57))
       );
       layout.setVerticalGroup(
           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGroup(layout.createSequentialGroup()
               .addGap(27, 27, 27)
               .addComponent(lbl_titulo_cliente)
               .addGap(36, 36, 36)
               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                   .addComponent(lbl_puerto_cliente_B)
                   .addComponent(txt_puerto_cliente_B, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
               .addGap(26, 26, 26)
               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                   .addComponent(lbl_ruta_cliente_B)
                   .addComponent(txt_ruta_cliente_B, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
               .addGap(57, 57, 57)
               .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)
               .addGap(36, 36, 36)
               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                   .addComponent(btn_enviar_cliente_B)
                   .addComponent(btn_recibir_cliente_B))
               .addContainerGap(24, Short.MAX_VALUE))
       );

       lbl_puerto_cliente_B.getAccessibleContext().setAccessibleName("null");
       lbl_ruta_cliente_B.getAccessibleContext().setAccessibleName("lbl_ruta_cliente_B");

       pack();
   }// </editor-fold>                        

   private void btn_enviar_cliente_BActionPerformed(java.awt.event.ActionEvent evt) {                                                    
       // TODO add your handling code here:
       try
       {
           enviar=this.txa_cliente_B.getText();
           dos.writeUTF("\n"+enviar);
           this.txa_cliente_B.append("\nEnviando mensaje ..."+enviar);

           dis.close();
           dos.close();
           sck.close();
       }
       catch(IOException ex)
       {
           this.txa_cliente_B.append("2. ERROR de E/S con excepcion: "+ex);
       }
   }                                                    

   private void btn_recibir_cliente_BActionPerformed(java.awt.event.ActionEvent evt) {                                                      
       // TODO add your handling code here:
       try
       {
           mensaje_B=dis.readUTF();
           this.txa_cliente_B.append(mensaje_B);

           this.txa_cliente_B.append("Fin de transmision ...");
       }
       catch(IOException ex)
       {
           this.txa_cliente_B.append("3. Error de E/S con excepcion"+ex);
       }
   }

   public static void main(String args[]) {
       java.awt.EventQueue.invokeLater(new Runnable() {
           public void run() {
               new Cliente_B().setVisible(true);
           }
       });
   }

   // Variables declaration - do not modify                    
   private javax.swing.JButton btn_enviar_cliente_B;
   private javax.swing.JButton btn_recibir_cliente_B;
   private javax.swing.JScrollPane jScrollPane1;
   private javax.swing.JLabel lbl_puerto_cliente_B;
   private javax.swing.JLabel lbl_ruta_cliente_B;
   private javax.swing.JLabel lbl_titulo_cliente;
   private javax.swing.JTextArea txa_cliente_B;
   private javax.swing.JTextField txt_puerto_cliente_B;
   private javax.swing.JTextField txt_ruta_cliente_B;
   // End of variables declaration                  

}


saludos

andaluz

#1
ahhh si quereis os pongo el codigo del servidor, solo teneis que pedirlo.

andaluz

Alguien que me puede decir cual es el fallo que tiene este codigo ya que por muchas vueltas que le doy no lo encuentro.

Saludos