User Guide
72 Chapter 3: Working with External Data
When you invoke the connect() method, Flash Player opens a TCP/IP connection to the server
and keeps that connection open until one of the following events happens:
• The close() method of the XMLSocket class is called.
• No more references to the XMLSocket object exist.
• Flash Player exits.
• The connection is broken (for example, the modem disconnects).
The following example creates an XML socket connection and sends data from the XML object
myXML. To understand the script, read the commented lines (indicated by the characters //):
//create XMLSocket object
var theSocket:XMLSocket = new XMLSocket();
//connect to a site on unused port above 1024 using connect() method
//enter localhost or 127.0.0.1 for local testing
//for live server enter your domain www.yourdomain.com
theSocket.connect("localhost", 12345);
//displays text regarding connection
theSocket.onConnect = function(myStatus) {
if (myStatus) {
conn_txt.text = "connection successful";
} else {
conn_txt.text = "no connection made";
}
};
//data to send
function sendData() {
var myXML:XML = new XML();
var mySend = myXML.createElement("thenode");
mySend.attributes.myData = "someData";
myXML.appendChild(mySend);
theSocket.send(myXML);
}
//button sends data
sendButton.onRelease = function() {
sendData();
};
//traces data returned from socket connection
theSocket.onData = function(msg:String):Void {
trace(msg);
};
For more information, see the XMLSocket class entry and Developing Flex Applications.
Sending messages to and from Flash Player
To send messages from a SWF file to its host environment (for example, a web browser or the
stand-alone Flash Player), you can use the
fscommand() function. This function lets you extend
your SWF file by using the capabilities of the host. For example, you could pass an
fscommand()
function to a JavaScript function in an HTML page that opens a new browser window with
specific properties.