It's hard to tell.

For example If I get position while some machine is moving.

I can get values up to every 10 ms, so if the connections is broken for 1 second I miss 100 messages.

I do send a timestamp with my messages, but It's hard to get the same time on multiple machines if we speak of ms.

Am 27.08.2015 um 15:44 schrieb Jonathan Reams:
You could use ZMTP heartbeats for this (although it's only in master right now). You set ZMQ_HEARTBEAT_IVL and ZMQ_HEARTBEAT_TIMEOUT to the minimum time a tcp connection should be allowed to be idle, and it will reset the sockets if there's a disconnection for longer than that period.

I think you'll also need to do some kind of time-stamping on each message though if it's really important that you only receive messages sent after you've been "connected." What length of time should trigger a disconnection?

On Thu, Aug 27, 2015 at 9:32 AM, Doron Somech <[email protected] <mailto:[email protected]>> wrote:

    For how long are you disconnecting the network?

    Just for the experiment try to set SNDBUF of the publisher to
    zero, along with immediate to 1 and send highwatermark to 1. I
    think it should work. However I dont think it is a good
    configuration. My suggestion is to have a time field on each
    message, save the diff on first message and check it on every
    message. If it too high drop the connection.

    On Aug 27, 2015 4:13 PM, "KIU Shueng Chuan" <[email protected]
    <mailto:[email protected]>> wrote:

        You could use the tcp keepalive socket options to make the tcp
        connection drop faster once you have unplugged your cable.
        That should cause the queued packets to be dropped.

        Or your subscriber could drain the socket of messages by
        reading it until it would block and only process the last one.

        On Aug 27, 2015 20:42, "Bachmair Florian - flexSolution GmbH"
        <[email protected]
        <mailto:[email protected]>> wrote:

            ok, thank you!

            I have to think about that, because I want to use curve as
            well, and therefore I would need tcp...

            Am 27.08.2015 um 14:12 schrieb Sergey Zinov:
            Seems like that should be the case. TCP is a reliable
            protocol, it buffers all data till it acknowledged by
            receiver and resend when needed. Switch to the UDP if
            don't need that reliability.

            On 27.08.2015 14:07, Bachmair Florian - flexSolution GmbH
            wrote:
            This does not work either :/

            I'm unsing PUB/SUB via tcp.

            I have captured the tcp connection with tcpdump and I
            saw that after I unplug the cable I get tcp
            retransmission packets.

            May this be more a behaviour of tcp itself than of zmq?


            Am 27.08.2015 um 13:39 schrieb Sergey Zinov:
            Hi,

            Try to set ZMQ_SNDHWM to 1. By the way which transport
            are you using?

            On 27.08.2015 11:52, Bachmair Florian - flexSolution
            GmbH wrote:
            I tried it, but it does not work!

            Don't know If I get that right, but even If I set
            ZMQ_RECONNECT_IV to "-1" my PUB and SUB Sockets are
            reconnecting to each other after I replug the cable

            Am 27.08.2015 um 10:59 schrieb Doron Somech:

            I'm not sure, but try to set  ZMQ_IMMEDIATE option.

            On Aug 27, 2015 11:38 AM, "Bachmair Florian -
            flexSolution GmbH" <[email protected]
            <mailto:[email protected]>> wrote:

                Hello!

                Is there a opportunity to tell the publisher not
                to resend messages?

                I have two stations A and B

                A publishes all the time
                B receives it

                A-PUB 10
                B-SUB 10
                A-PUB 20
                B-SUB 20
                A-PUB 30
                B-SUB 30
                A-PUB 40
                B-SUB 40
                ---unplug cable
                A-PUB 50
                A-PUB 60
                A-PUB 70
                ---plug cable again
                B-SUB 50
                B-SUB 60
                B-SUB 70
                ....


                B does some routines after it gets those values.
                But I'm not interested
                in 50 and 60 any more, I just want the 70 after
                reconnection.
                I do Heartbeating so I detect connection lost on
                my own and I can
                request the last value as well. So is this
                possible to disable the
                resend mechanism?

                Thx
                Florian
                _______________________________________________
                zeromq-dev mailing list
                [email protected]
                <mailto:[email protected]>
                http://lists.zeromq.org/mailman/listinfo/zeromq-dev



            _______________________________________________
            zeromq-dev mailing list
            [email protected]  <mailto:[email protected]>
            http://lists.zeromq.org/mailman/listinfo/zeromq-dev



            _______________________________________________
            zeromq-dev mailing list
            [email protected]  <mailto:[email protected]>
            http://lists.zeromq.org/mailman/listinfo/zeromq-dev


-- Sergey Zinov

            Wissenschaftlicher Mitarbeiter
            Fachbereich Elektrotechnik, Maschinenbau und 
Wirtschaftsingenieurwesen
            Hochschule Anhalt
            /
            Research Assistant
            Department of Electrical, Mechanical and Industrial Engineering
            Anhalt University of Applied Sciences

            Phone:+4915738145172  <tel:%2B4915738145172>


            _______________________________________________
            zeromq-dev mailing list
            [email protected]  <mailto:[email protected]>
            http://lists.zeromq.org/mailman/listinfo/zeromq-dev



            _______________________________________________
            zeromq-dev mailing list
            [email protected]  <mailto:[email protected]>
            http://lists.zeromq.org/mailman/listinfo/zeromq-dev


-- Sergey Zinov

            Wissenschaftlicher Mitarbeiter
            Fachbereich Elektrotechnik, Maschinenbau und 
Wirtschaftsingenieurwesen
            Hochschule Anhalt
            /
            Research Assistant
            Department of Electrical, Mechanical and Industrial Engineering
            Anhalt University of Applied Sciences

            Phone:+4915738145172  <tel:%2B4915738145172>


            _______________________________________________
            zeromq-dev mailing list
            [email protected]  <mailto:[email protected]>
            http://lists.zeromq.org/mailman/listinfo/zeromq-dev


            _______________________________________________
            zeromq-dev mailing list
            [email protected]
            <mailto:[email protected]>
            http://lists.zeromq.org/mailman/listinfo/zeromq-dev


        _______________________________________________
        zeromq-dev mailing list
        [email protected] <mailto:[email protected]>
        http://lists.zeromq.org/mailman/listinfo/zeromq-dev


    _______________________________________________
    zeromq-dev mailing list
    [email protected] <mailto:[email protected]>
    http://lists.zeromq.org/mailman/listinfo/zeromq-dev




_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to