1 person found this helpful
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:
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:
...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.
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?
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.
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.
More digging around today on Sockets, I came across this section of an article that's relevant to my last post.
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.
Depending on want you are developing, you may want to look into BlazeDS(which is free from Adobe).
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.