arg
September 16, 2005 1:07 PM Subscribe
Anyone know how to use an XMLSocket in flash (using actionscript)
I've been trying for days to get XMLSocket.connect to work. And it just
won't. It always returns false. The code I'm using is:
var net:XMLSocket = new XMLScoket();
net.onConnect = function(success:Boolean){
if(!success){
XMLResult.text = "connection failed on onconnect";
}
else{
XMLResult.text = "succeeded!";
}
}
var b:Boolean = net.connect("localhost",4482);
if(!b){
XMLResult.text = "----failed to connect";
}
else{
XMLResult.text = "---connected";
}
b is *always* false, no matter what I try. I put the swf file on the
hard drive, I've had it downloaded from localhost over HTTP, I put up a
polcy file, My windows firewall is turned off. I've tried everything,
and it won't even get to the 'onConnect' part! WTF is going on?
The crazy thing is, if I call the following code
System.security.loadPolicyFile("xmlsocket://localhost:4482");
The Flash player makes a network connection, sends the correct XML, and
downloads the result just fine! But when I call XMLsocket.connect() it
just returns false and won't even try to connect to my server!
The flash movie has no problem doing an XML.load() from the same server
(using the HTTP protocol).
This is driving me crazy. I've been going over the security and policy
stuff like crazy, and I still have no idea what's going on. It's driving me totaly nuts.
(I hate flash)
I've been trying for days to get XMLSocket.connect to work. And it just
won't. It always returns false. The code I'm using is:
var net:XMLSocket = new XMLScoket();
net.onConnect = function(success:Boolean){
if(!success){
XMLResult.text = "connection failed on onconnect";
}
else{
XMLResult.text = "succeeded!";
}
}
var b:Boolean = net.connect("localhost",4482);
if(!b){
XMLResult.text = "----failed to connect";
}
else{
XMLResult.text = "---connected";
}
b is *always* false, no matter what I try. I put the swf file on the
hard drive, I've had it downloaded from localhost over HTTP, I put up a
polcy file, My windows firewall is turned off. I've tried everything,
and it won't even get to the 'onConnect' part! WTF is going on?
The crazy thing is, if I call the following code
System.security.loadPolicyFile("xmlsocket://localhost:4482");
The Flash player makes a network connection, sends the correct XML, and
downloads the result just fine! But when I call XMLsocket.connect() it
just returns false and won't even try to connect to my server!
The flash movie has no problem doing an XML.load() from the same server
(using the HTTP protocol).
This is driving me crazy. I've been going over the security and policy
stuff like crazy, and I still have no idea what's going on. It's driving me totaly nuts.
(I hate flash)
Response by poster: Yeah, I have a crossdomain.xml file, and I'm not using any external SWF files :(
posted by delmoi at 9:16 PM on September 16, 2005
posted by delmoi at 9:16 PM on September 16, 2005
Best answer: Also, uhh, you spelled "socket" wrong at the end of that first line of code. And I know the Flash IDE is useless as far as debugging goes, and doesn't acknowledge things like undefined variables or classes...
posted by Danelope at 9:20 PM on September 16, 2005
posted by Danelope at 9:20 PM on September 16, 2005
Response by poster: Danelope, you're right.
Jesus fucking christ.
Good thing I only live a block away from work... let me check that.
posted by delmoi at 9:31 PM on September 16, 2005
Jesus fucking christ.
Good thing I only live a block away from work... let me check that.
posted by delmoi at 9:31 PM on September 16, 2005
Response by poster: Oh. My. God.
That was it. And it dosn't help that actionscript treats 'null' as 'false'.
God damn. Two fucking days I've been beating my head against the wall trying to figure out what was wrong. I did the following:
*Add a authentification system to my XMLSocket server
*read the same damn documentation over and over again
*Add an HTTP authentification system, so I could see if that would help
*Post on newgroups
*Download the flash 8 trial (which just came out this month)
*add the the ability to send the swf file itself from the HTTP server
Not to mention tons of tweaking in each one of those steps And nothing worked.
Thanks a lot :P
posted by delmoi at 9:49 PM on September 16, 2005
That was it. And it dosn't help that actionscript treats 'null' as 'false'.
God damn. Two fucking days I've been beating my head against the wall trying to figure out what was wrong. I did the following:
*Add a authentification system to my XMLSocket server
*read the same damn documentation over and over again
*Add an HTTP authentification system, so I could see if that would help
*Post on newgroups
*Download the flash 8 trial (which just came out this month)
*add the the ability to send the swf file itself from the HTTP server
Not to mention tons of tweaking in each one of those steps And nothing worked.
Thanks a lot :P
posted by delmoi at 9:49 PM on September 16, 2005
This thread is closed to new comments.
crossdomain.xml
file in the root path of the server hosting the downloaded XML? The file should contain the following data for testing purposes: I know relatively little about Flash itself, but my company makes extensive use of it, and the lack of acrossdomain.xml
is one of the most common causes for Flash security issues. That, and missingallowDomain()
calls in externally-loaded SWFs.posted by Danelope at 9:14 PM on September 16, 2005