I'm creating a test piece which demonstrates the functionality I'd ultimately 
like to build into my application.  I'm trying to understand the built-in 
heartbeating options and have been fiddling around trying to get it set up.  
Trial and error isn't getting me very far! I have a few questions, hope someone 
might be able to help....


1.       Does the built-in  heartbeating respect the direction of flow of the 
socket type eg. PUB-SUB is one directional, ROUTER-DEALER is bidirectional?  So 
in a unidirectional case an ephemeral value with a time-to-live would be issued 
from the source, but in a bidirectional case pings and pongs would go back and 
forth?



2.       The heartbeating works with curve security enabled, right?



3.       I've set up a server and client like so;



zsock_t *server = zsock_new(ZMQ_PUSH);

zsock_set_heartbeat_ivl(server, 50);

zcert_apply(server_cert, server);

zsock_set_curve_server(server, 1);

int rc = zsock_bind(server, "tcp://*:9000");





zsock_t *client = zsock_new (ZMQ_PULL);

zcert_apply (client_cert, client);

zsock_set_curve_serverkey (client, zcert_public_txt (server_cert));

//Set heartbeat interval

zsock_set_heartbeat_ttl(client, 1000);

zsock_set_heartbeat_ivl(client, 2500);

int rc1 = zsock_connect(client, "tcp://127.0.0.1:9000");



the interval settings are intended for testing purposes to provoke  a heartbeat 
timeout for which I am monitoring "DISCONNECTED" socket events.  Am I setting 
up the heartbeating correctly?



Thanks,



Stephen
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to