I'm not sure if Windows has a working TCP Keepalive - you can try with the heartbeats instead which are at the ZMQ layer, see ZMQ_HEARTBEAT_*
Also remember to set all these options BEFORE connect/bind or they won't have any affect. On Sat, 2018-01-27 at 13:51 +0000, Ravi Joshi via zeromq-dev wrote: > Hi Tobias, > > Thank you very much. How to send lower heartbeats? Do we need to set > it using setsockopt? > > By the way, at present following setsockopt are already set for all > three subscribers- > > > (1) ZMQ_SUBSCRIBE : Allow all messages > > (2) ZMQ_RCVTIMEO :1000 ms > (3) ZMQ_LINGER :1 > (4) ZMQ_CONFLATE :1 > (5) ZMQ_TCP_KEEPALIVE :1 > - > Thanks > Ravi > > > On Saturday, 27 January 2018 10:05 PM, Tobias Elbert <tobias_elbert@h > otmail.com> wrote: > > > > Hi Ravi, > > I recall having had this problem a while ago, too, in another > project. I was using C# clrzmq3 bindings on either side. I never > solved it directly but from memory I recall sending down heartbeats > and once a subscriber hadn't received a heartbeat message for X > seconds, I restarted it. > > > Cheers > Tobias > > > > ________________________________ > > From: zeromq-dev <[email protected]> on behalf of > Ravi Joshi via zeromq-dev <[email protected]> > Sent: Saturday, January 27, 2018 11:27 AM > To: ZeroMQ development list > Cc: Ravi Joshi > Subject: Re: [zeromq-dev] Publishers stops sending data after > sometime. Subscriber is required to fix publisher > > Hi Justin, > > I will check it using netstat. > > Meanwhile, ZMQ_TCP_KEEPALIVE seems not working. I still see that > after some time, Windows OS, where publishers are running, is showing > 0 MBPS transmission rate. After I restart subscribers in ROS on > Ubuntu, publishers start working. Please note that during this > process I am not restarting publishers at all. > > Below is the code snippet added to all subscribers- > > int tcp_keepalive = 1; > zmq_socket.setsockopt(ZMQ_TCP_KEEPALIVE, &tcp_keepalive, > sizeof(tcp_keepalive)); > > - > Thanks > Ravi > > > > On Saturday, 27 January 2018 5:36 PM, Justin Karneges <justin@karnege > s.com> wrote: > > > > One thing you might do is run netstat on both sides to see if the > connections are still listed. In a dead connection scenario, netstat > should no longer list the connection on the PUB side, but should > remain listing it on the SUB side. > > > Note that it can take time for the PUB connection to give up. On > Linux, the default is something like 20 minutes after it dies, so > give the PUB side some extra time after messages stop transmitting. > If transmission hasn't worked for over 20 minutes and netstat is > still showing the connection on the PUB side, then the problem may be > something else. > > > On Sat, Jan 27, 2018, at 12:13 AM, Ravi Joshi via zeromq-dev wrote: > > Hi Justin, > > > > > > > > Thank you very much. How do I make sure that I am getting dead > > connections? > > > > > > > > For time being, I am enabling ZMQ_TCP_KEEPALIVE on all 3 SUB > > sockets. > > > > > > > > I will tell you the status of it after sometime. > > > > > > > > Thanks > > > > - > > > > Ravi > > > > Sent from Yahoo Mail for iPhone > > > > > > > > On Saturday, January 27, 2018, 3:27 PM, Justin Karneges <justin@kar > > neges.com> wrote: > > > > Hi, > > > > > > > > > > > > One issue with socket types that don't usually write data (such > > > as SUB) is that a dead connection might go unnoticed forever. You > > > can work around this by enabling TCP keep alives on the SUB > > > socket. I don't know if you're getting dead connections here but > > > just thought I'd mention it. > > > > > > > > > > > > Justin > > > > > > > > > > > > On Fri, Jan 26, 2018, at 9:33 PM, Ravi Joshi via zeromq-dev > > > wrote: > > > > > > > Hi, > > > > > > > > I am using Publisher-Subscriber pattern consisting of 3 > > > > publishers to > > > > publish 3 different types of data. All 3 publishers are written > > > > in a > > > > single C# file. However, each subscriber is written in a > > > > separate C++ > > > > file inside ROS. From the point of ZeroMQ, there is no > > > > difference in > > > > each subscriber, since context, socket initialization and > > > > receiving > > > > message is done in the same way for all subscriber. Hence, in > > > > order to > > > > make the mail shorter, I am just posting code snippet of 1 > > > > subscriber below. > > > > > > > > The publisher code in C# snippet is available in Pastebin > > > > (https://pastebin.com/S65LmwuV). > > > > The subscriber code in C++ snippet is available in Pastebin > > > > (https://pastebin.com/xb3V0n0u). > > > > > > > > The publisher works well initially for some time and > > > > successfully > > > > transmits data at 700MBPS rate but stops transmitting any data > > > > after 5-6 > > > > hours. > > > > > > > > In order to make publisher working again, I need to restart > > > > the > > > > subscribers. This is strange to me since it is unexpected > > > > behavior as > > > > per the Publisher-Subscriber pattern is concerned. > > > > > > > > Why such weird behavior? Any workaround, please. > > > > > > > > - > > > > Thanks > > > > Ravi > > > > _______________________________________________ > > > > zeromq-dev mailing list > > > > [email protected] > > > > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > > > > > > > > > > _______________________________________________ > > > > > > zeromq-dev mailing list > > > > > > [email protected] > > > > > > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > > > > > > > > > > > > _______________________________________________ > > > > zeromq-dev mailing list > > > > [email protected] > > > > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > > _______________________________________________ > zeromq-dev mailing list > [email protected] > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > > _______________________________________________ > zeromq-dev mailing list > [email protected] > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > _______________________________________________ > zeromq-dev mailing list > [email protected] > https://lists.zeromq.org/mailman/listinfo/zeromq-dev -- Kind regards, Luca Boccassi
signature.asc
Description: This is a digitally signed message part
_______________________________________________ zeromq-dev mailing list [email protected] https://lists.zeromq.org/mailman/listinfo/zeromq-dev
