J'utilise zeromq mode sub-pub dans mon application, mais j'ai un problème: J'ai commencé sous-app et souscrit le message, puis a commencé pub app plus tard, et l'application pub ne publiera aucun message dans une demi-heure ou plus, après cela, l'application pub publiera des messages dans la sous-application, mais la sous-application a été bloquée là sans aucun message ou certains messages sont perdus.mode sous-pub zeromq, bloquer et perdu
Si quelqu'un sait quel est le problème? Merci d'avance.
Editeur: #include "stdafx.h" #include int _tmain (int argc, _TCHAR * argv []) { void * = contexte zmq_ctx_new(); void * server = zmq_socket (contexte, ZMQ_PUB); zmq_bind (serveur, "tcp: //192.168.1.212: 5555"); Printf ("attendre une heure et demie \ n"); Sommeil (1000 * 60 * 60 * 1,5); tandis que (1) { char buffer [256] = {0}; sprintf_s (tampon, "% s", "Hello World!"); zmq_send (serveur, tampon, 256, 0); printf ("send:% s \ n", tampon); Sommeil (1000 * 60); } return 0; } –
Kenton
Abonné: #include "stdafx.h" #include int _tmain (int argc, _TCHAR * argv []) { void * = contexte zmq_ctx_new(); void * socket = zmq_socket (contexte, ZMQ_SUB); zmq_connect (socket, "tcp: //202.101.xxx.xx: 5555"); zmq_setsockopt (socket, ZMQ_SUBSCRIBE, "", 0); tandis que (1) { char buffer [256] = {0}; zmq_recv (socket, buffer, 256, 0); printf ("recv:% s \ n", tampon); } \t return 0; } –
Kenton
Je pense que c'est parce que je n'ai pas mis ZMQ_TCP_KEEPALIVE dans mon socket, ai-je raison? – Kenton