5 Replies Latest reply on Jan 6, 2011 9:21 AM by IlyaG

    Socket security error

    IlyaG Level 1

      Hi,

       

      I found what is the common between all my users who getting error when trying connect to my app. They all using IE, from my logs I can see that they are getting socket security error, what is more strange is that part of the users who got IE can connect.

       

      This is what I know about this problem:

       

      It is found only on IE and most of the users using Win 64 bit

      From server side I can see that flash doesn't even sending the policy request

      Also tested with disabled firewall, and yet getting the bug

      It's not IP block because it works from Chrome and Firefox

       

      Just what else can it be????

        • 1. Re: Socket security error
          injpix Level 3

          Can you provide us a security code with this error?  I assume you have a socket policy file on the server its connecting to.  If not, here is an article on policy file:

          http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html

           

          Personally, I am new to Sockets in Flash, so I may not be much help for you.  I am using a version of this repo:

          https://github.com/gabriel/as3httpclient

           

          ...which allows a Flex developer to use RESTful calls using sockets, which from my understanding the Flex SDK lacks this basic feature.  I am not sure what type of requests you are making, but beware of using some HTTP methods(verbs) in Flex.

           

          Edit: Also, what Flash Player version do these users have installed?  There may be interference coming from specific Flash Players.

          1 person found this helpful
          • 2. Re: Socket security error
            IlyaG Level 1

            Testing the flash player version sounds as a good idea!

             

            About the as3httpclient library I don't see there anything unique there, I guess everyone implement the socket for they own needs, for me I am using my own Protocol.

             

            You said "beware of using some HTTP methods(verbs) in Flex", what do you mean?

            • 3. Re: Socket security error
              injpix Level 3

              Yes, check the user's Flash Player versions.  I suspect since sockets don't rely on the user's browser, it may be related to their Flash Player.

               

              About my comment on, "beware of using some HTTP methods(verbs) in Flex", I was referring to Flex's limitation that I mentioned in the post.  I read the following article several weeks ago, and it mentioned about this limitation.

               

              http://insideria.com/2010/01/rest-and-flex.html

               

              Specifically I am referring to this paragraph in that article:

              If you are a Flex developer you know very well that Flex doesn't support some HTTP headers like PUT or DELETE, so we will work with a free library called as3httpclientlib that uses a workaround using sockets to solve this Flex issue.

              This article lead me to as3httpclient.  Unfortunately I am a Flex developer and didn't know about that prior to reading.  So if you are trying to do some RESTful calls (using HTTP methods/verbs: PUT, DELETE, etc.) to the server with Flex's SDK, it could or will fail.

              • 4. Re: Socket security error
                injpix Level 3

                More digging around today on Sockets, I came across this section of an article that's relevant to my last post.

                HTTPService components

                Use HTTPService components to send HTTP GET or POST requests and include the data from HTTP responses in a client application. If you are using Flex to build desktop applications (runs in Adobe AIR®), HTTP PUT and DELETE are supported.

                If you use Adobe LiveCycle Data Services or BlazeDS, you can use an HTTPProxyService, which allows you to to use additional HTTP methods. With an HTTPProxyService, you can send GET, POST, HEAD, OPTIONS, PUT, TRACE, or DELETE requests.

                An HTTP service can be any HTTP URI that accepts HTTP requests and sends responses. Another common name for this type of service is a REST-style web service. REST stands for Representational State Transfer and is an architectural style for distributed hypermedia systems.

                 

                -ref: http://help.adobe.com/en_US/Flex/4.0/AccessingData/WSbde04e3d3e6474c46c45e7b4120d413dc14-8 000.html

                 

                Depending on want you are developing, you may want to look into BlazeDS(which is free from Adobe).

                • 5. Re: Socket security error
                  IlyaG Level 1

                  When you are working with socket you don't use http requests, everything is going threw the socket class, and you can create your own protocol to send any type of data.