Foros del Web » Programación para mayores de 30 ;) » Java »

Socket y Listener

Estas en el tema de Socket y Listener en el foro de Java en Foros del Web. Hola a todos, tengo un problema, es el siguiente, tengo una ventana donde tengo 2 botones y tiene un listener para saber cuando es presionado ...
  #1 (permalink)  
Antiguo 19/01/2017, 09:52
 
Fecha de Ingreso: abril-2006
Mensajes: 134
Antigüedad: 18 años
Puntos: 0
Pregunta Socket y Listener

Hola a todos, tengo un problema, es el siguiente, tengo una ventana donde tengo 2 botones y tiene un listener para saber cuando es presionado uno u otro y hasta ahi no hay problema.

Lo que quiero hacer es que cada vez que presiono uno de los botenes, se mande un mensaje por socket a una ventana secundaria. Esto atravez de zeromq.

Utilice un ejemplo que viene en la pagina de zeromq y funciona el programa A le manda al B y este lo recibe y lo imprime.

AHora bien no se como implementarlo en mi ventana y que transmita cada vez que presiono un boton u otro.

Aqui lo que hice es un Listener que escucha al boton Izquierdo y llamo al Socket (segun yo)

Código Java:
Ver original
  1. private void IzqActionPerformed(java.awt.event.ActionEvent evt) {                                    
  2.         JButton fuente = (JButton) evt.getSource();
  3.         JOptionPane.showMessageDialog(fuente, "Presionaste el boton de la Izquierda");
  4.         Envio transmite = new Envio();
  5.         String Mensaje="Izquierda";
  6.         try {
  7.             transmite.Transmite("Izquierda");
  8.         } catch (Exception ex) {
  9.             Logger.getLogger(ListenerWindow.class.getName()).log(Level.SEVERE, null, ex);
  10.         }
  11.     }
Aqui la parte del socket donde se deberia de enviar la informacion del click del boton.

Código Java:
Ver original
  1. public class Envio {
  2.    
  3.     public void Transmite (String Mensaje){
  4.         ZMQ.Context context = ZMQ.context(1);
  5.         ZMQ.Socket publisher = context.socket(ZMQ.PUB);
  6.  
  7.         publisher.bind("tcp://localhost:5563");
  8.         publisher.sendMore ("Boton");
  9.         publisher.send (Mensaje);
  10.        
  11.     publisher.close ();
  12.     context.term ();
  13.     }  
  14.    
  15. }

Aca la parte de la recepcion del socket con la información.

Código Java:
Ver original
  1. public class Subscribe {
  2.  
  3.     public static void main (String[] args) {
  4.  
  5.         // Prepare our context and subscriber
  6.         Context context = ZMQ.context(1);
  7.         Socket subscriberA = context.socket(ZMQ.SUB);
  8.  
  9.         subscriberA.connect("tcp://localhost:5563");
  10.         subscriberA.subscribe("Boton".getBytes());
  11.        
  12.         while (!Thread.currentThread ().isInterrupted ()) {
  13.             // Read envelope with address
  14.             String address = subscriberA.recvStr ();
  15.             // Read message contents
  16.             String contents = subscriberA.recvStr ();
  17.             System.out.println(address + " : " + contents);
  18.            
  19.         }
  20.         subscriberA.close ();
  21.         context.term ();
  22.     }
  23.    
  24. }

Espero que me puedan orientar por favor.
Saludos.

Etiquetas: listener, socket, string, ventana
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:13.