Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

265
Vistas
Cómo verificar que el editor ZMQ esté vivo o no en c #

Estoy usando el paquete ZMQ NetMQ en C# para recibir el mensaje del suscriptor. Puedo recibir el mensaje pero me quedo en el bucle while. Quiero romper el bucle while si el editor deja de enviar datos.

Aquí está mi código de suscriptor:

 using (var subscriber = new SubscriberSocket()) { subscriber.Connect("tcp://127.0.0.1:4000"); subscriber.Subscribe("A"); while (true) { var msg = subscriber.ReceiveFrameString(); Console.WriteLine(msg); }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

P: "¿Cómo comprobar que el publicador de ZMQ está activo o no en C#?"

A :
Hay al menos dos formas de hacerlo:

  • a )
    modifique el código tanto en el lado PUB como en el lado SUB , de modo que el editor envíe los mensajes de canal PUB/SUB e, independientemente de eso, también PUSH/PULL -mensajes de mantenimiento para demostrar al lado SUB que es sigue vivo, como recibido de forma autónoma como confirmaciones del PULL -AccessPoint en el bucle del lado SUB . No recibir dicho mensaje de mantenimiento de vida suave durante algún tiempo puede activar el bucle del lado SUB para asegurarse de que se break . El mismo principio puede ser servido por un canal PUSH/PULL invertido, donde el lado SUB , de vez en cuando, pregunta al lado PUB , escuchando en el lado PULL , usando un mensaje de solicitud suave enviado de forma asíncrona para inyectar un mensaje suave. mensaje keep-alive en el canal PUB (recuerde que el filtro TOPIC es un filtro ASCII simple de izquierda a derecha de la carga útil del mensaje, por lo que el mensaje entregado PUSH podría enviar fácilmente el texto exacto para que se reenvíe) a través de PUB/SUB de vuelta al remitente, haciendo coincidir el filtro TOPIC conocido localmente mantenido por la misma entidad del lado SUB )

  • B )
    en los casos en los que no puede modificar el código del lado PUB , aún podemos configurar un contador basado en el tiempo, después de que caduque, sin recibir un solo mensaje (ya sea usando un bucle de un múltiplo conocido de cronometrado con precisión- aSUB.poll( ... ) -s, que permite operar algunos bucles de control intercalados ordenados por prioridad sin bloqueo mutuo incontrolado, o mediante el uso de una forma directa, sin bloqueo de aSUB.recv( zmq.NOBLOCK ) alineada dentro del bucle con algún modo de evitar el bucle ocupado, que alivia la CPU sleep() -s). En caso de que se agote el tiempo de espera, al no haber recibido ningún mensaje real hasta el momento, podemos interrumpir de forma autónoma el bucle del lado SUB , como se solicitó anteriormente.

QED

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda