This topic contains 7 replies, has 4 voices, and was last updated by  Jeff Drumm 2 years, 11 months ago.

Socket Keepalive

  • A customer has recently “upgraded” their interface engine and we’re now have problems with one of our interfaces when their socket connection times out. This interface doesn’t do much traffic, only about 20 messages per day. They are looking to increase the timeout, but they don’t appear to be able to get the threshold high enough, especially considering weekends where they only get 2 or 3 messages over two days. They asked that I send keepalive over with some regularity. I don’t see any configurations for this? Does Iguana have any ability to send a KA signal? I don’t suspect we can do this in the LLP configuration, I also couldn’t come up with a way to do this in the translator (since it’s message based).

    Does anyone have any thoughts on how I could do this?

    M.R. McBee

    Check the ‘Connection timeout’ parameter description on http://wiki.interfaceware.com/983.html

    Check Connection timeout to allow connection timeouts.
    Enter the number of minutes to wait before timing out.
    There is no need for ‘keep alive’. They should be able to establish new connection if current timed out.

    Thanks for the response Lev, but this is actually an outbound socket. The problem is that I don’t send messages very often over this socket and their side actually times out. I think what I’m going to do is break out my thread apart and write a keepalive process

    Current State
    File – Translator – LLP
    New State
    File – Translator – Queue
    Translator (keepalive) – Queue

    Queue – LLP

    M.R. McBee

    Same settings, even more enhanced, exist for Outbound side of a channel. Just check documentation at http://wiki.interfaceware.com/1130.html

    There is no need for keep-alive at all.

    Because it’s outbound, this really ins’t an Iguana side issue, there’s is the side that times out. My client has had problems resolving this on their end as a temporary solution we are no longer using a persistant connection until their vendor can figure out how to increase their timeouts.. Thanks Lev for the settings refresher that clicked it for me.

    M.R. McBee

    np. glad to help 🙂

    Glad you were able to have the other end resolve this issue for you. I had a similar issue, only the other side could not make any changes to fix the problem for me. I ended up creating a keepalive message by making a new from translator to channel. I statically set the message as the data in the translator to push to the queue, and set the poll time to a fit in the required window. So now every 55 minutes it sends the same message to the client listener.

    In my experience, this happens pretty regularly when a firewall is in the picture between the source and target. It’s keeping track of persistent connections and expiring those without activity after a certain period of time. Those timeouts can usually be adjusted, but not everyone has the technical expertise on staff to make that happen.

    Jeff Drumm ◊ VP and COO ◊ HICG, LLC. ◊ http://www.hicgrp.com

You must be logged in to reply to this topic.