Client-Side Communication ActionScript > LocalConnection.domain

 

LocalConnection.domain

Availability

Flash Player 6.

Flash Communication Server MX (not required).

Usage

myLC.domain()

Parameters

None.

Returns

A string representing the subdomain of the location of the current movie.

Description

Method; returns a string representing the subdomain of the location of the current movie. For example, if the current movie is located at www.macromedia.com, this method returns "macromedia.com". If the current movie is a local file residing on the client machine, this method returns "localhost".

The most common use of this method is to include the domain name of the sending LocalConnection object as a parameter to the method you plan to invoke in the receiving LocalConnection object, or in conjunction with LocalConnection.allowDomain to accept commands from a specified domain. If you are enabling communication only between LocalConnection objects that are located in the same domain, you probably don't need to use this method.

Example

In the following example, a receiving movie accepts commands only from movies located in the same domain or at macromedia.com.

LC = new LocalConnection();
LC.allowDomain = function(sendingDomain) 
{	
	return (sendingDomain==this.domain() || sendingDomain=="macromedia.com");
}

In the following example, a sending movie located at yourdomain.com invokes a method in a receiving movie located at mydomain.com. The sending movie includes its domain name as a parameter to the method it invokes, so the receiving movie can return a reply value to a LocalConnection object in the correct domain. The sending movie also specifies that it will accept commands only from movies at mydomain.com.

Line numbers are included for reference purposes. The sequence of events is as follows:

// The receiving movie at http://www.mydomain.com/folder/movie.swf // contains the following code 1 var aLocalConnection = new LocalConnection(); 2 aLocalConnection.allowDomain = function() 3 { // allow connections from any domain 4 return true; 5 } 6 aLocalConnection.aSum = function(sender, replyMethod, n1, n2) 7 { 8 this.send(sender, replyMethod, (n1 + n2)); 9 } 10 11 aLocalConnection.connect("sum"); // The sending movie at http://www.yourdomain.com/folder/movie.swf // contains the following code 50 var lc = new LocalConnection(); 51 lc.allowDomain = function(aDomain) { // allow connections only from mydomain.com 52 return (aDomain == "mydomain.com"); 53 } 54 lc.aResult = function(aParam) { 55 trace("The sum is " + aParam); 56 } 57 58 lc.connect("result"); 59 lc.send("mydomain.com:sum", "aSum", lc.domain() + ':' + "result", "aResult", 123, 456);

The receiving movie prepares to receive commands on a connection named "sum" (line 11). The Flash Player resolves the name of this connection to "mydomain.com:sum" (see LocalConnection.connect).

The sending movie prepares to receive a reply on the LocalConnection object named "result" (line 58). It also specifies that it will accept commands only from movies at mydomain.com (lines 51 to 53).

The sending movie invokes the aSum method of a connection named "mydomain.com:sum" (line 59), and passes the following parameters: its domain (lc.domain()), the name of the connection to receive the reply ("result"), and the values to be used by aSum (123 and 456).

The aSum method (line 6) is invoked with the following values: sender = "mydomain.com:result", replyMethod = "aResult", n1 = 123, and n2 = 456. It therefore executes the following line of code:

this.send("mydomain.com:result", "aResult", (123 + 456));

The aResult method (line 54) displays the value returned by aSum (579).

See also

LocalConnection.allowDomain