I think that if you load the crossdomain file with the socket info in it it will work. I don't think it needs to come from an xmlsocket.
Jesse Hallam wrote: > > I'm surprised how many walls I've run into trying to solve this, > fairly simple problem. > > Essentially, I need to perform RPC style communication with the server > hosting the .swf. The server, which is also under my control, > communicates custom binary data over HTTP, expecting HTTP POST > requests from the client. Part of its response includes custom headers > to indicate the status of the request, with the body containing the > raw binary data needed. > > Of course, neither the Flex HTTPService, URLLoader, or URLStream allow > me to parse custom response headers (not to mention setting some > strange restrictions on which headers I can transmit). Instead, I > turned to Sockets in the hopes of writing my own, more FLEXible HTTP > client. > > Alas, I cannot seem to use Sockets to open a connection to port 80 on > the host serving the .swf. From the following documentation: > > http://livedocs. adobe.com/ flex/2/docs/ wwhelp/wwhimpl/ common/html/ > wwhelp.htm? context=LiveDocs _Parts&file=00001952. html#145389 > <http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001952.html#145389> > > I learn several things: > > * Socket communication requires a socket policy file, distinct > from a document policy file > * A socket policy file must be obtained using the same > communication protocol as the socket (i.e. a socket opened on > port 501 requires a socket policy file from port 501) > * A socket policy file can be used to allow port access to ports < > 1024 > * A special syntax, 'xmlsocket:// server:port/ crossdomain. xml' > can be used to request a socket policy file from a different port > * Using loadPolicyFile and a standard document policy file, access > to ports > 1024 are implicitly enabled, and any 'to-ports' > settings in the configuration file are ignored. > > Basically, at the end of the day, I want a .swf served from a host to > be able to open socket connection on port 80 back to the server that > hosted it to do HTTP operations. I cannot seem to be able to do this > unless I: > > * Open another port < 1024 to serve a socket policy file > * Modify the server to respond to the Flash request for a socket > policy file ( http://www.blog. lessrain. com/?p=512 > <http://www.blog.lessrain.com/?p=512>) > > > Why must it be so difficult to access the response headers from an > HTTP connection?! This isn't a crossdomain issue at all -- this is > communication with the very same host that served the .swf file in the > first place. > > Has anyone managed to overcome this issue cleanly? > Any input from more experienced Flex coders? > > Any help would be greatly appreciated :) > > Reference post, that yielded inconclusive results: > http://tech. groups.yahoo. com/group/ flexcoders/ message/71730 > <http://tech.groups.yahoo.com/group/flexcoders/message/71730> > > -- > Jesse Hallam > University of Waterloo Junior

