LocalConnection.send( ) Method

ActionScript for Flash MX: The Definitive Guide, 2nd Edition
By Colin Moock
Chapter 18.  ActionScript Language Reference
LocalConnection.send( ) Method Flash 6

invoke a method on a remote LocalConnection object
localConn.send(connectionName, methodName, arg1, arg2,...argn)

Parameters

connectionName

The string name of the connection on which to invoke methodName, as set by the receiver's connect( ) method.

methodName

The string name of the method to invoke on the receiver. Must not be one of the following reserved words: "send", "connect", "close", "domain", "onStatus", or "allowDomain".

arg1, ...argn

Optional arguments to pass to methodName.

Returns

A Boolean true if the send( ) structure is syntactically correct, otherwise false.

Description

The send( ) method sends a request to invoke the methodName at the connection specified by connectionName. The send( ) method can transfer a maximum of 40 KB of data. The optional arguments passed can be any datatype (Boolean, object, number, etc.). If an object is sent, its class is retained only if it is registered on both sides of the LocalConnection using Object.registerClass( ). See Object.registerClass( ) for more details.

When the sender and receiver movies are both loaded from the same domain, the connectionName for send( ) should simply match the connectionName specified by the receiver's connect( ) method. When the sender and receiver movies are loaded from different domains, the final connection name generated by Flash for the sender must match the final name generated for the receiver.

For the sender, the final connection name is generated as follows:

  • If the connectionName passed to send( ) does not start with an underscore ( _ ) and contains no colon (:), the sender's subdomain and a colon are prefixed to connectionName. For example, a connectionName of "channel1" resolves to a final name of "senderdomain.com:channel1" (where senderdomain.com is the subdomain of the sending movie).

  • If the connectionName passed to send( ) contains a colon, the specified value is used verbatim. For example, a connectionName of "moock.org:channel1" remains unchanged.

  • If the connectionName passed to send( ) starts with an underscore, the specified value is used verbatim. For example, a connectionName of "_channel1" remains unchanged.

For the receiver, the final connection name is generated as follows:

  • If the connectionName passed to connect( ) does not start with an underscore and contains no colon, the receiver's subdomain and a colon are prefixed to connectionName. For example, a connectionName of "channel1" resolves to a final name of "receiverdomain.com:channel1" (where receiverdomain.com is the subdomain of the receiving movie).

  • If the connectionName passed to connect( ) starts with an underscore, the specified value is used verbatim. For example, a connectionName of "_channel1" remains unchanged.

On the receiver, the connectionName format "moock.org:channel1" cannot be used (the receiver is not allowed to specify its own subdomain). Table 18-10 shows the specified and final connection name values for both the sender and receiver, and indicates whether each combination would match when the movies are running on the same domain or on different domains. For a full discussion of connection name matching, including overriding the security restrictions across domains, see LocalConnection.allowDomain( ).

Table 18-10. Connection name matching

Sender specified

Sender final

Receiver specified

Receiver final

Same domain match?

Different domain match?

name

senddomain:name

name

recdomain:name

Yes

No (The automatic subdomain prefixes would not match.)

name

senddomain:name

_name

_name

No (No subdomain is used by the receiver.)

No

_name

_name

name

recdomain:name

No (No subdomain is used by the sender.)

No

_name

_name

_name

_name

Yes

Yes (But allowDomain( ) must permit the connection.)

subdomain:name

subdomain:name

name

subdomain:name

Yes, if sender's specified subdomain matches receiver's actual subdomain

Yes (But allowDomain( ) must permit the connection, and sender's specified subdomain must match receiver's actual subdomain.)

subdomain:name

subdomain:name

_name

_name

No (No subdomain is used by the receiver.)

No

See Also

LocalConnection.allowDomain( ), LocalConnection.connect( ), LocalConnection.domain( )



    ActionScript for Flash MX. The Definitive Guide
    ActionScript for Flash MX: The Definitive Guide, Second Edition
    ISBN: 059600396X
    EAN: 2147483647
    Year: 2002
    Pages: 780
    Authors: Colin Moock

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net