3 Replies Latest reply on Dec 22, 2009 8:05 AM by msakrejda

    IE's concurrent connections and Flash

    nxbroc

      In our app, the user can enter various print options and then click a button to launch a new window which shows the document with the various configurable print options (different colours, tabs, etc) - a preview window. This new preview window was coded using Flex and involves a .swf file.

      We have only seen the following issue on IE 6/7 (works fine on Firefox and Safari).

       

      Opening and closing the preview window repeatedly eventually puts IE into a state where all subsequent

      web requests to the same server seems to stop working (they are attempted

      but time out). This not only blocks the preview window from loading, it

      blocks other normal IE requests (eg. AJAX calls, normal links in the app and POST backs.)

      Going to another website (eg. www.cnn.com) will work correctly. Re-entering our application's URL

      fails in the same manner.  Closing the browser and reopening is the

      only known workaround we have seen for this issue.

      The problem manifests itself in two cases:

       

      (1) Closing the browser during the preview window's initialization (ie, when the AMF messages are being sent between the client and server)

       

      (2) When the preview window is open, but the images are still downloading (ie, when the thumbnails are still loading).

       

      IE has a low concurrent download limit (2 Active connections per

      server). We suspect this problem may be related to that limit. Maybe Flex or IE is not closing the connections correctly

      resulting in the hitting the limit for our app server. We have tried to hook into the

      window close event of the browser and force all network connections to be close (to the extent Flex allows this) to no avail.

      Has anyone experienced any similar issues with IE and Flex?

        • 1. Re: IE's concurrent connections and Flash
          msakrejda Level 4

          Yes, I've hit the exact same issues with URLStream (even when the connections are properly closed). I never found a satisfactory workaround.

          • 2. Re: IE's concurrent connections and Flash
            nxbroc Level 1

            What did you end up doing? As much as I wish we could require all our customers to move away from

            IE, it is not a viable option. Any input will be appreciated.


            • 3. Re: IE's concurrent connections and Flash
              msakrejda Level 4

              Mostly, we just documented it as a known issue; fortunately, that was feasible for us. Our customers don't typically open and close many new windows of our app, so it's not the end of the world.

               

              When I dug into this, I saw some pretty bizarre behavior from IE: even when you close the underlying Socket and you see the appropriate FIN TCP wire messages, IE would *still* not let Flex open new connections to the same host. This persisted until you restarted not only the current browser, but all IE instances. The connection book-keeping is somehow totally fubared.

               

              What we *considered* doing but ultimately determined to be impratcical was to only have the main application open these connections, and the other instances marshall their network communication through the main app using LocalConnection. In theory, this should work, but it's likely to be very awkward.