James,
My experience is that you can’t maintian an open connection across the internet. The no activity timeouts on the internet are fairly short. One option that we’ve used in the past was to use a upoc thread to basically start the outbound thread every so often and if there are messages to send they get sent, then the thread get’s shut down.
Are there any other suggestions out there for building an interface across the internet?