quiero enviar un fichero desde el cliente 1 al cliente 2, pero pasando por la centralita, que es el medio de comunicacion entre los dos clientes.
yo he realizado el codigo pero no esta correcto, ya que he empezado a tocar este tema de los socket hace poco tiempo, asi que me gustaria que me ayudaseis, os pongo aqui el codigo que he realizado.
ENTORNO GRAFICO DE LOS CLIENTES
El entorno gragico tiene 2 campos de texto, 1 para insertar el puerto por el que se comunican y otro para colocar la ruta del fichero que se quiere enviar, un textarea que es donde se van a poner todas las incidencias que vayan ocurriendo en el transcuso de la comunicacion y 2 botones, 1 para enviar y otro para recibir.
ENTORNO GRAFICO DE LA CENTRALITA
la centralita consta de 1 textarea que es donde se muestran los mensajes de lo que se va haciendo en el transcurso de la comunicacion y 2 botones, enviar y recibir.
------CODIGO DE LOS CLIENTES-----------
Código java:
Ver original
import java.io.*; /** Creates new form Cliente_B */ String mensaje_B, enviar; public Cliente_B() { initComponents(); try { //sck=new java.net.Socket("localhost", this.txt_puerto_cliente_A.getText()); } { this.txa_cliente_B.append("1. Error de E/S con excepcion: "+ex); } } // BOTON ENVIAR // 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(); } { this.txa_cliente_B.append("2. ERROR de E/S con excepcion: "+ex); } } // BOTON RECIBIR // 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 ..."); } { this.txa_cliente_B.append("3. Error de E/S con excepcion"+ex); } }
------CODIGO CENTRALITA-----------
Código java:
Ver original
import java.io.*; /** Creates new form Centralita */ String enviar, mensaje; public Centralita() { initComponents(); } // BOTON ENVIAR // TODO add your handling code here: try { sck1=ssckserver1.accept(); if (fich.exists()) { mensaje=br.readLine(); while (mensaje!=null) { if(sck1.isConnected()) { dos1.writeUTF(mensaje); this.txa_centralita.append("\nEnviando al cliente... "+mensaje); } else { this.txa_centralita.append("\nCliente 1 desconectado."); } } dos1.close(); sck1.close(); ssckserver1.close(); } else { this.txa_centralita.append("El fichero elegido no existe."); } } { this.txa_centralita.append("Error de E/S con excepcion: "+ex); } } // BOTON RECIBIR // TODO add your handling code here: try { sck1=ssckserver1.accept(); if (fich.exists()) { mensaje=br.readLine(); while (mensaje!=null) { if(sck1.isConnected()) { dos1.writeUTF(mensaje); this.txa_centralita.append("\nEnviando al cliente... "+mensaje); } else { this.txa_centralita.append("\nCliente 1 desconectado."); } } dos1.close(); sck1.close(); ssckserver1.close(); } else { this.txa_centralita.append("El fichero elegido no existe."); } } { this.txa_centralita.append("Error de E/S con excepcion: "+ex); } }