Background: The clients and server instance are connected via VPN tunnel. The firewalls between client and server side have been addressed, where the Flex TCP/IP connections won't timeout unless inactive for over 1 hour. Between client side network and server side network there are the routers, firewalls, and one load-balancer to keep in mind.
Problem: My customers have observed that throughout the day their connection is dropped various times. I have ran a test where I observed the same issue, however for the most part my connection gets dropped after over 1 hour of inactivity on the application using Flex framework. I ran Wireshark to capture the HTTP and TCP traffic between client and server side communication, and can't seem to capture what is causing the connection to be dropped. My customers in question however, have seen this issue with more frequency. They are on a separate network from mine, and we both have dedicated VPN tunnels to the server side network. Looking at the JBoss server log where we track login/logout functionality, I do observe that customers are logging in every 20 minutes or so on certain days, without a logout being recorded. Which basically tells me their connection was dropped, causing them to have to re-login. The message I get on the browser is that the connection was lost, followed by the following message pop-up: Channel.Ping.Failed error url: 'http://<url_of_site>/ {context.root}/messagebroker/http" Looking for feedback on: 1. One possible solution is to implement in the Flex framework based application a heartbeat type of functionality. This would help keep the TCP connections from going stale. Anyone taken this approach? Would it be possible? 2. In the event of a network based issue, the heartbeat may not be able to prevent the connection drop. Any idea if the Flex framework can simply re-establish the connection without having the client re- login? Thanks in advance for any pointers.