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 originalprivate void IzqActionPerformed
(java.
awt.
event.
ActionEvent evt
) { JOptionPane.
showMessageDialog(fuente,
"Presionaste el boton de la Izquierda"); Envio transmite = new Envio();
try {
transmite.Transmite("Izquierda");
Logger.getLogger(ListenerWindow.class.getName()).log(Level.SEVERE, null, ex);
}
}
Aqui la parte del socket donde se deberia de enviar la informacion del click del boton.
Código Java:
Ver originalpublic class Envio {
public void Transmite
(String Mensaje
){ ZMQ.
Context context
= ZMQ.
context(1); ZMQ.
Socket publisher
= context.
socket(ZMQ.
PUB);
publisher.bind("tcp://localhost:5563");
publisher.sendMore ("Boton");
publisher.send (Mensaje);
publisher.close ();
context.term ();
}
}
Aca la parte de la recepcion del socket con la información.
Código Java:
Ver originalpublic class Subscribe {
public static void main
(String[] args
) {
// Prepare our context and subscriber
Socket subscriberA
= context.
socket(ZMQ.
SUB);
subscriberA.connect("tcp://localhost:5563");
subscriberA.subscribe("Boton".getBytes());
while (!Thread.
currentThread ().
isInterrupted ()) { // Read envelope with address
String address
= subscriberA.
recvStr (); // Read message contents
String contents
= subscriberA.
recvStr (); System.
out.
println(address
+ " : " + contents
);
}
subscriberA.close ();
context.term ();
}
}
Espero que me puedan orientar por favor.
Saludos.