| Package | flash.net |
| Class | public class LocalConnection |
| Inheritance | LocalConnection EventDispatcher Object |
fscommand() 또는 JavaScript 를 사용하지 않아도, 이 종류의 SWF 파일간의 통신이 가능하게 됩니다. LocalConnection object를 사용해 통신할 수 있는 것은, 같은 클라이언트 컴퓨터상에서 실행중의 SWF 파일 뿐입니다. 다만, 이것들은 다른 어플리케이션으로 실행되고 있어도 괜찮습니다. 예를 들어, 브라우저로 실행되고 있는 SWF 파일과 프로젝터로 실행되고 있는 SWF 파일과의 사이에 통신할 수도 있습니다.
프로젝터란, standalone 어플리케이션으로서 실행 가능한 형식에서 보존한 SWF 파일입니다. Flash Player 는 필요 없습니다.
ActionScript 3.0 으로 작성된 LocalConnection object는, ActionScript 1.0 또는 2.0 으로 작성된 LocalConnection object와 통신할 수 있습니다. 또, 그 역도 가능합니다. ActionScript 1.0 또는 2.0 으로 작성된 LocalConnection object는, ActionScript 3.0 으로 작성된 LocalConnection object와 통신할 수 있습니다. Flasn Player 에서는, 이러한 버젼이 다른 LocalConnection object간의 통신이 자동적으로 처리됩니다.
각 파일로 사용되는 커멘드를 확인하는 것으로, 2 개의 SWF 파일간에 통신을 행하기 위한 LocalConnection object의 사용 방법이 이해하기 쉬워집니다. 어느 SWF 파일은송신측 SWF 파일로 불리고 있어 불려 가는 Methods가 포함되어 있습니다. 이 송신측 SWF 파일에는, LocalConnection object와 send() Methods의 호출이 포함되어 있을 필요가 있습니다. 다른 SWF 파일은수신측 SWF 파일로 불리고 있어 Methods를 호출하는 파일입니다. 이 수신측 SWF 파일에는, 송신측 SWF 파일과는 다른 LocalConnection object와 connect() Methods의 호출이 포함되어 있을 필요가 있습니다.
send() 와 connect() 의 어느 쪽을 사용할까는, SWF 파일이 같은 도메인내에 있는 경우, 예측 가능한 도메인명을 가지는 다른 도메인에 있는 경우, 예측 불가능 또는 동적인 도메인명을 가지는 다른 도메인에 있는 경우에 의해 다릅니다. 다음의 단락에서는, 상기의 3 개의 경우 각각 붙어, 샘플 코드를 사용해 설명합니다.
같은 도메인의 경우 :LocalConnection object의 가장 간단한 사용 방법은, 같은 도메인내의 LocalConnection object간에만 통신을 허가하는 것입니다. 이것은, Flash Player 에서는 디폴트로 동일 도메인 통신이 허가되고 있기 (위해)때문에입니다. 같은 도메인에 있는 2 개의 SWF 파일끼리로 통신을 실시하는 경우,connectionName Parameters에 대한 같은 값을 connect() Methods와 send() Methods에 건네주는 것만으로 있기 (위해)때문에, 특별한 시큐러티 대책을 베풀 필요는 없습니다.
// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.connect('myConnection');
// sendingLC is in http://www.domain.com/sending.swf
// myMethod() is defined in sending.swf
sendingLC.send('myConnection', 'myMethod');
예측 가능한 도메인명을 가지는 다른 도메인의 경우 :각각 다른 도메인에 존재하는 2 개의 SWF 파일간에 통신을 실시하는 경우,allowDomain() Methods를 호출해, 이러한 2 개의 도메인간에 통신을 허가할 필요가 있습니다. 또,send() Methods의 접속명을, 수신측 LocalConnection object의 도메인명으로 수식할 필요가 있습니다.
// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.allowDomain('www.anotherdomain.com');
receivingLC.connect('myConnection');
// sendingLC is in http://www.anotherdomain.com/sending.swf
sendingLC.send('www.domain.com:myConnection', 'myMethod');
예측 불가능한 도메인명을 가지는 다른 도메인의 경우 :수신측의 LocalConnection object를 가지는 SWF 파일의 이식성을 도메인간에 높이는 경우도 있습니다. send() Methods로 도메인명을 지정하지 않고, 수신측과 송신측의 LocalConnection object가 같은 도메인에 없는 것을 Flash Player 에 인식시키려면 ,connect() 호출과 send() 호출의 양쪽 모두로, 언더 스코아 (_)로 시작되는 접속명을 기술합니다. 2 개의 도메인간의 통신을 허가하려면 ,allowDomain() Methods를 호출해, LocalConnection 의 호출을 허가하는 도메인을 건네줍니다. 또는, 와일드 카드 (*)를 인수에 건네주어, 모든 도메인으로부터의 호출을 허가합니다.
// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.allowDomain('*');
receivingLC.connect('_myConnection');
// sendingLC is in http://www.anotherdomain.com/sending.swf
sendingLC.send('_myConnection', 'myMethod');
LocalConnection object를 사용해, 1 개의 SWF 파일내에서 데이터를 송수신 할 수도 있습니다만, 이것은 일반적인 방법이 아닙니다.
send() Methods와 connect() Methods의 상세한 것에 대하여는,LocalConnection.send() 엔트리 및 LocalConnection.connect() 엔트리의 connectionName Parameters의 설명을 참조해 주세요. 또,allowDomain() 엔트리 및 domain 엔트리도 참조해 주세요.
See also
| property | 정의 | ||
|---|---|---|---|
| client : Object
콜백 Methods가 불려 가는 object를 나타냅니다.
| LocalConnection | ||
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
| domain : String
[read-only]
현재의 SWF 파일이 존재하는 도메인을 나타내는 string입니다.
| LocalConnection | ||
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| Methods | 정의 | ||
|---|---|---|---|
| LocalConnection ()
LocalConnection object를 작성합니다.
| LocalConnection | ||
![]() | addEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
| EventDispatcher | |
| allowDomain (... domains):void
이 LocalConnection 인스턴스에 LocalConnection 호출을 송신할 수 있는 1 개 이상의 도메인을 지정합니다.
| LocalConnection | ||
| allowInsecureDomain (... domains):void
이 LocalConnection object에 LocalConnection 호출을 송신할 수 있는 1 개 이상의 도메인을 지정합니다.
| LocalConnection | ||
| close ():void
LocalConnection object를 닫습니다 (절단 합니다).
| LocalConnection | ||
connect (connectionName:String ):void
send() 커멘드 (송신측 LocalConnection object)로부터의 커멘드를 받도록(듯이) LocalConnection object를 준비합니다. | LocalConnection | ||
![]() | dispatchEvent (event:Event ):Boolean
이벤트를 event 플로우(flow)에 dispatch합니다.
| EventDispatcher | |
![]() | hasEventListener (type:String ):Boolean
EventDispatcher object에, 특정의 event 타입에 대해서 등록된 listener가 있을지 어떨지를 확인합니다.
| EventDispatcher | |
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
![]() | removeEventListener (type:String , listener:Function , useCapture:Boolean = false):void
EventDispatcher object로부터 listener를 삭제합니다.
| EventDispatcher | |
send (connectionName:String , methodName:String , ... arguments):void
connect(connectionName) Methods (수신측 LocalConnection object)로 확립한 접속을 사용해,methodName 로 지정된 Methods를 호출합니다. | LocalConnection | ||
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
![]() | toString ():String
지정된 object의 string 표현을 돌려줍니다.
| Object | |
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
![]() | willTrigger (type:String ):Boolean
지정된 event 타입에 대해, 이 EventDispatcher object 또는 그 조상에게 event listener가 등록되어 있는지 어떤지를 확인합니다.
| EventDispatcher | |
| 이벤트 | 일람 | 정의 | ||
|---|---|---|---|---|
| asyncError | 비동기 형식에서, 즉 네이티브비동기 코드로부터 예외가 슬로우 되면 dispatch됩니다. | LocalConnection | ||
| securityError |
LocalConnection.send() 에의 호출로, 다른 시큐러티 샌드 박스에 데이터를 송신하려고 하면 dispatch됩니다. | LocalConnection | ||
| status | LocalConnection object가 스테이터스를 보고할 때 dispatch됩니다. | LocalConnection | ||
| client | property |
client:Object [read-write]
콜백 Methods가 불려 가는 object를 나타냅니다. 디폴트의 object는, 작성되는 로컬 접속 this 입니다. client property를 다른 object로 설정해, 콜백 Methods를 그 다른 object로 호출할 수가 있습니다.
public function get client():Object
public function set client(value:Object ):void
TypeError — client property는, null 이외의 object로 설정할 필요가 있습니다.
|
See also
| domain | property |
domain:String [read-only]현재의 SWF 파일이 존재하는 도메인을 나타내는 string입니다.
Flash Player 9 이후용으로 Publish 된 SWF 에서는, 현재의 SWF 파일의 서브 도메인을 포함한 도메인을 나타내는 string를 돌려줍니다. 예를 들어, 현재의 SWF 파일이 www.adobe.com 에 있는 경우는,"www.adobe.com" 를 돌려줍니다.
현재의 SWF 파일이 클라이언트 컴퓨터상의 로컬 파일인 경우는,"localhost" 를 돌려줍니다.
이 property의 가장 일반적인 사용 방법은, 호출하는 수신측 LocalConnection object의 Methods의 Parameters로서 송신측 LocalConnection object의 도메인명을 건네주는지,LocalConnection.allowDomain() 와 조합해 사용해, 특정의 도메인의 커멘드를 받아들인다고 하는 것입니다. 같은 도메인내에 있는 LocalConnection object간에서만 통신하는 경우는, 통상, 이 property를 사용할 필요는 없습니다.
public function get domain():String
See also
| LocalConnection | () | constructor |
public 함수 LocalConnection()LocalConnection object를 작성합니다. LocalConnection object를 사용하면, 같은 클라이언트 컴퓨터상에서 실행하고 있는 다른 SWF 파일간에 통신할 수 있게 됩니다.
See also
| allowDomain | () | Methods |
public function allowDomain(... domains):void 이 LocalConnection 인스턴스에 LocalConnection 호출을 송신할 수 있는 1 개 이상의 도메인을 지정합니다.
이 Methods를 사용할 때는, Flash Player 시큐러티 모델을 고려해 주세요. 디폴트에서는, LocalConnection object는 그것을 작성한 SWF 파일의 샌드 박스에 관련 지을 수 있어 LocalConnection object의 크로스 도메인에서의 호출은, 받는 SWF 파일로 LocalConnection.allowDomain() Methods가 불려 가지 않은 한 허가되지 않습니다.
상세한 것에 대하여는, 다음의 주제를 참조해 주세요.
메모 :allowDomain() Methods는, ActionScript 1.0 및 2.0 의 형식으로부터 변경되고 있습니다. 이러한 이전의 버젼에서는,allowDomain 는 Implements하는 콜백 Methods였습니다. ActionScript 3.0 에서는,allowDomain() 는 유저가 호출하는 LocalConnection 의 빌트인 Methods입니다. 이 변경을 위해,allowDomain() 는 flash.system.Security.allowDomain() 와 거의 똑같이 동작합니다.
... domains — LocalConnection 호출을 허가하는 도메인을 지정하는 string입니다. 이 Parameters에는 다음의 2 개의 특수한 케이스가 있습니다.
|
ArgumentError — 지정된 모든 Parameters는, null 이외에 할 필요가 있습니다.
|
See also
| allowInsecureDomain | () | Methods |
public function allowInsecureDomain(... domains):void 이 LocalConnection object에 LocalConnection 호출을 송신할 수 있는 1 개 이상의 도메인을 지정합니다.
allowInsecureDomain() Methods는 allowDomain() Methods와 같이 동작합니다만,allowInsecureDomain() Methods는, HTTPS 이외에 밤 SWF 파일로부터, HTTPS 에 의한 SWF 파일에의 LocalConnection 호출의 송신을 허가하는 점이 다릅니다. 이 차이는, HTTPS 를 사용해 로드 된 SWF 파일로부터 allowInsecureDomain() Methods를 호출하는 경우에게만 의미가 있습니다. 같은 도메인내의 비 HTTPS 와 HTTPS 의 경계를 넘는 경우에서도,allowInsecureDomain() Methods를 호출할 필요가 있습니다. 디폴트로, 같은 도메인내에서도 비 HTTPS SWF 파일로부터 HTTPS SWF 파일에의 LocalConnection 호출은 허가되지 않습니다.
allowInsecureDomain() 를 호출하는 것은, HTTPS 에 의해 제공되는 시큐러티가 손상되기 (위해)때문에, 추천하지 않습니다. HTTPS 에 의해 SWF 파일을 로드하는 경우는, SWF 파일이 네트워크에 의한 전달중에 부정 조작을 받지 않는 것을 충분히 확신할 수 있습니다. 비 HTTPS SWF 파일에 의한 HTTPS SWF 파일에의 LocalConnection 호출을 허가했을 경우, 전달중에 부정 조작된 가능성이 있는 SWF 로부터의 호출을 받아들이게 됩니다. 이것은, HTTPS SWF 파일에 도착한 LocalConnection 호출의 정당성을 신뢰할 수 없기 때문에, 일반적으로 특별한 경계를 필요로 합니다.
디폴트에서는, HTTPS 프로토콜을 사용해 호스트 된 SWF 파일은, HTTPS 프로토콜을 사용해 호스트 된 SWF 파일에게만 액세스 할 수 있습니다. 이 Implements 방법에 의해, HTTPS 프로토콜이 제공하는 정합성이 유지됩니다.
이 Methods로 디폴트의 행동을 변경하는 것은 추천할 수 없습니다. 디폴트의 행동을 변경하면, HTTPS 의 시큐러티가 손상됩니다. 다만, 디폴트의 동작을 변경하지 않을 수 없는 경우도 있습니다. 예를 들어, Flash Player 9 이후용으로 Publish 된 HTTPS 파일에 대해서, Flash Player 6 또는 그 이전의 버젼용으로 Publish 된 HTTP 파일로부터의 액세스를 허가해야 하는 경우 등입니다.
상세한 것에 대하여는, 다음의 주제를 참조해 주세요.
... domains — LocalConnection 호출을 허가하는 도메인을 지정하는 string입니다. 이 Parameters에는 2 개의 특수한 케이스가 있습니다.
|
ArgumentError — 지정된 모든 Parameters는, null 이외에 할 필요가 있습니다.
|
See also
| close | () | Methods |
public function close():void
LocalConnection object를 닫습니다 (절단 합니다). 이 커멘드는, LocalConnection object로 그 이상 커멘드를 받아들이지 않는 경우에 실행합니다. 예를 들어, 다른 SWF 파일로 같은 connectionName Parameters를 사용해 connect() 커멘드를 실행하는 경우 등입니다.
ArgumentError — LocalConnection 인스턴스가 접속되어 있지 않기 때문에, 닫을 수가 없습니다.
|
See also
| connect | () | Methods |
public function connect(connectionName:String ):void
send() 커멘드 (송신측 LocalConnection object)로부터의 커멘드를 받도록(듯이) LocalConnection object를 준비합니다. 이 커멘드를 사용하는 object는 "수신측 LocalConnection object" 로 불립니다. 수신측과 송신측의 object는, 같은 클라이언트 컴퓨터상에서 실행할 필요가 있습니다.
경합 상황을 피하기 (위해)때문에, 이 Methods를 호출하기 전에, LocalConnection 클래스의 예와 같이, 수신측의 LocalConnection object에 관련지을 수 있고 있는 Methods를 정의합니다.
디폴트에서는, Flash Player 는 connectionName 를 해결해 "superdomain:connectionName" 로 합니다. 여기서,superdomain 는,connect() 커멘드를 포함한 SWF 파일의 super 도메인을 나타냅니다. 예를 들어, 수신측 LocalConnection object를 포함한 SWF 파일이 www.someDomain.com 에 배치되고 있는 경우,connectionName 는 "someDomain.com:connectionName" 에 해결됩니다. SWF 파일이 클라이언트 컴퓨터에 배치되고 있는 경우,superdomain 에는 "localhost" 를 할당할 수 있습니다.
또 디폴트에서는, 수신측 LocalConnection object는, 접속명이 "superdomain:connectionName" 의 값에 해결되는 송신측 LocalConnection object로부터의 커멘드만을 받아들입니다. 이 때문에, 같은 도메인에 놓여져 있는 SWF 파일간의 통신은 간단합니다.
같은 도메인의 SWF 파일간에서만 통신을 실시하는 경우는,connectionName 에 대해서, 선두가 언더 스코아 (_) 이외로, 도메인명을 포함하지 않는 string를 지정합니다 ("myDomain:connectionName" 등). connect(connectionName) Methods와 같은 string를 사용해 주세요.
다른 도메인내의 SWF 파일간의 통신을 Implements하는 경우는,connectionName 에 언더 스코아 (_)로 시작되는 string를 지정하면, 수신측 LocalConnection object를 포함한 SWF 의 도메인간에서의 portability가 높아집니다. 생각되는 2 개의 상황을 다음에 나타냅니다.
connectionName 의 string가 언더 스코아 (_)로 시작되지 않은 경우, Flash Player 에 의해,"myDomain:connectionName" 와 같이, super 도메인과 구두점의 접두사가 추가됩니다. 이것에 의해, 다른 도메인의 같은 이름을 가지는 접속과의 충돌은 회피할 수 있습니다만, 모든 송신측 LocalConnection object는,"myDomain:connectionName" 와 같이 이 super 도메인을 지정할 필요가 있습니다. 수신측 LocalConnection object를 포함한 SWF 파일이 다른 도메인에 이동되었을 경우는,"anotherDomain:connectionName" 와 같이, 새로운 super 도메인에 응해 접두사가 변경됩니다. 모든 송신측 LocalConnection object는, 새로운 super 도메인을 참조하도록(듯이) 수동으로 편집할 필요가 있습니다. connectionName 의 string가,"_connectionName" 와 같이 언더 스코아로 시작되어 있는 경우, string에 접두사는 추가되지 않습니다. 즉, 수신측 및 송신측 LocalConnection object는,connectionName 에 완전히 같은 string를 사용합니다. 수신측 object가 allowDomain() 를 사용해, 모든 도메인으로부터의 통신을 받아들이도록(듯이) 지정했을 경우는, 송신측 LocalConnection object를 변경하지 않고 , 수신측 LocalConnection object를 포함한 SWF 파일을 다른 도메인에 이동시킬 수가 있습니다. 상세한 것에 대하여는, 클래스의 개요의 설명,send() 의 connectionName 의 설명, 및 allowDomain() 엔트리와 domain 엔트리를 참조해 주세요.
메모 :구두점은,connectionName 의 string와 super 도메인을 단락짓는 특수 캐릭터로서 사용됩니다. connectionName 에 구두점을 포함한 string를 지정하는 것은 무효입니다.
connectionName:String — 수신측 LocalConnection 와 통신하는 send() 커멘드로 지정한 접속명에 대응하는 string.
|
TypeError — connectionName Parameters에게 건네지는 값은 null 이외에 할 필요가 있습니다.
|
|
ArgumentError — 이 에러는, 다음의 3 개의 이유에 의해 발생할 가능성이 있습니다. 1) connectionName Parameters에게 건네진 string치가 null 였던 경우. null 이외의 값을 건네줍니다. 2) connectionName Parameters에게 건네진 값에 구두점 (:)이 포함되어 있었을 경우. 구두점은,connect() Methods는 아니고 send() Methods로, super 도메인과 connectionName string를 단락짓는 특별한 캐릭터로서 사용됩니다. 3) LocalConnection 인스턴스가 이미 접속되고 있는 경우.
|
See also
| send | () | Methods |
public function send(connectionName:String , methodName:String , ... arguments):void
connect(connectionName) Methods (수신측 LocalConnection object)로 확립한 접속을 사용해,methodName 로 지정된 Methods를 호출합니다. 이 커멘드를 사용하는 object는 "송신측 LocalConnection object" 로 불립니다. 송신측 object와 수신측 object를 포함한 SWF 파일은, 같은 클라이언트 컴퓨터상에서 실행할 필요가 있습니다.
이 커멘드에 Parameters로서 건네줄 수가 있는 데이터의 양은 40 KB 에 제한됩니다. 문장구조법이 올바름에도 불구하고,send() 가 ArgumentError 를 슬로우 하는 경우는,send() 요구를 복수에 분할해 각각을 40 KB 보다 작게 해 보세요.
connect() 엔트리로 설명되고 있도록(듯이), 디폴트에서는 connectionName 에 현재의 super 도메인이 추가됩니다. 다른 도메인간에 통신을 실시하는 경우는, 송신측과 수신측의 양쪽 모두의 LocalConnection object로, 현재의 super 도메인이 추가되지 않게 connectionName 를 정의할 필요가 있습니다. 이것에는, 다음의 2 개의 방법이 있습니다.
connectionName 의 선두에 언더 스코아 (_)를 사용합니다. 수신측 object를 포함한 SWF 파일에서는 LocalConnection.allowDomain() 를 사용해, 모든 도메인으로부터의 접속을 받아들이도록(듯이) 지정합니다. 이 방법에서는, 송신측과 수신측의 SWF 파일을 임의의 도메인에 배치할 수 있습니다. connectionName 에 super 도메인을 포함합니다. 예를 들어,myDomain.com:myConnectionName 와 지정합니다. 수신측 object에서는,LocalConnection.allowDomain() 를 사용해, 지정한 super 도메인 (이 예에서는 myDomain.com)으로부터의 접속을 받아들이는지, 또는 모든 도메인으로부터의 접속을 받아들이도록(듯이) 지정합니다. 메모 :수신측 LocalConnection object의 connectionName 에서는 super 도메인을 지정할 수 없습니다. super 도메인을 지정할 수 있는 것은 송신측 LocalConnection object 뿐입니다.
이 Methods를 사용할 때는, Flash Player 시큐러티 모델을 고려해 주세요. 디폴트에서는, LocalConnection object는 그것을 작성한 SWF 파일의 샌드 박스에 관련 지을 수 있어 LocalConnection object의 크로스 도메인에서의 호출은, 받는 SWF 파일로 LocalConnection.allowDomain() Methods가 불려 가지 않은 한 허가되지 않습니다.
상세한 것에 대하여는, 다음의 주제를 참조해 주세요.
connectionName:String — 송신측 LocalConnection object와 통신하기 위한 connect() 커멘드로 지정된 접속명에 대응합니다.
|
|
methodName:String — 수신측 LocalConnection object내에서 불려 가는 Methods의 이름. 다음의 Methods명을 사용하면, 이 커멘드는 실패합니다. send,connect,close,allowDomain,allowInsecureDomain,client, 및 domain
|
|
... arguments — 지정하는 Methods에 건네주는 추가의 Parameters. 이 Parameters는 옵션입니다.
|
securityError:SecurityErrorEvent — LocalConnection.send() 는, 호출원의 코드가 액세스 할 수 없는 시큐러티 Sandbox 로부터 SWF 파일과 통신하려고 했습니다. 이것은 LocalConnection.allowDomain() 를 수신측에서 Implements하는 것으로 회피할 수 있습니다. |
|
status:StatusEvent — level property의 값이 "status" 의 경우는 호출이 성공한 것을 나타내,"error" 의 경우는 호출이 실패한 것을 나타냅니다. 수신측의 SWF 파일이 접속을 거부했을 경우, 호출은 실패할 가능성이 있습니다. |
TypeError — connectionName 또는 methodName 의 몇개의 값이 null 입니다. 이러한 Parameters에 null 이외의 값을 건네줍니다.
|
|
ArgumentError — 이 에러는, 다음의 쳐 몇개의 이유로써 발생할 가능성이 있습니다. 1) connectionName 또는 methodName 의 몇개의 값이 empty string인 경우. 이러한 Parameters에 유효한 string를 건네줍니다. 2) methodName 로 지정되고 있는 Methods가 제한되고 있는 경우. 3) 송신된 직렬화 메세지가 너무 큰 경우 (40 K 이상).
|
See also
| asyncError | event |
flash.events.AsyncErrorEvent
flash.events.AsyncErrorEvent.ASYNC_ERROR
비동기 형식에서, 즉 네이티브비동기 코드로부터 예외가 슬로우 되면 dispatch됩니다.
AsyncErrorEvent.ASYNC_ERROR 정수는,asyncError event object의 type property치를 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 네트워크 조작 에러가 발생한 object입니다. |
error | 이벤트를 방아쇠 한 에러입니다. |
| securityError | event |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
LocalConnection.send() 에의 호출로, 다른 시큐러티 샌드 박스에 데이터를 송신하려고 하면 dispatch됩니다.
SecurityErrorEvent.SECURITY_ERROR 정수는,securityError event object의 type property치를 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 시큐러티 에러를 보고하는 네트워크 object입니다. |
text | 에러 메세지로서 표시되는 텍스트입니다. |
See also
| status | event |
flash.events.StatusEvent
flash.events.StatusEvent.STATUS
LocalConnection object가 스테이터스를 보고할 때 dispatch됩니다. LocalConnection.send() 가 정상적으로 실행되었을 경우,status event object의 level property의 값은 "status" 가 됩니다. 또, 호출해에 실패했을 경우,level property의 값은 "error" 가 됩니다. 수신측 SWF 파일로 접속이 거부되면, 송신측 SWF 파일에의 통지없이 호출이 실패할 가능성이 있습니다.
status event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
code | object의 스테이터스의 설명입니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
level | "status","warning","error" 등, 메세지의 카테고리입니다. |
target | 그 스테이터스를 리포트하는 object입니다. |
See also
LocalConnectionSenderExample SWF 파일에서는, LocalConnection 인스턴스가 작성되어
버튼을 누르면,call() Methods가 사용되어
"myConnection" 라고 하는 접속명의 SWF 파일에 존재하는 lcHandler 라고 하는 Methods가 불려 갑니다.
이 때, Parameters로서
TextField 의 컨텐츠가 건네받습니다.
LocalConnectionReceiverExample SWF 파일에서는, LocalConnection 인스턴스가 작성되어
이 SWF 파일을 메세지의 수신자로서 지정하기 위한
connect() Methods가 불려 갑니다. 이 수신자는,
"myConnection" 라고 하는 접속에 할당할 수 있습니다. 또, 이 클래스에는,
LocalConnectionSenderExample SWF 파일로부터 불려 가는 lcHandler() 라고 한다
Public Methods가 포함됩니다. Methods가 불려 가면,
Parameters로서 건네받는 텍스트가
Stage 상의 TextField 에 추가됩니다.
메모: 이 예를 테스트하려면 , 양쪽 모두의 SWF 파일을 같은 컴퓨터상에 동시에 로드할 필요가 있습니다.
// Code in LocalConnectionSenderExample.as
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.net.LocalConnection;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.events.StatusEvent;
import flash.text.TextFieldAutoSize;
public class LocalConnectionSenderExample extends Sprite {
private var conn:LocalConnection;
// UI elements
private var messageLabel:TextField;
private var message:TextField;
private var sendBtn:Sprite;
public function LocalConnectionSenderExample() {
buildUI();
sendBtn.addEventListener(MouseEvent.CLICK, sendMessage);
conn = new LocalConnection();
conn.addEventListener(StatusEvent.STATUS, onStatus);
}
private function sendMessage(event:MouseEvent) :void {
conn.send("myConnection", "lcHandler", message.text);
}
private function onStatus(event:StatusEvent) :void {
switch (event.level) {
case "status":
trace("LocalConnection.send() succeeded");
break;
case "error":
trace("LocalConnection.send() failed");
break;
}
}
private function buildUI() :void {
const hPadding:uint = 5;
// messageLabel
messageLabel = new TextField();
messageLabel.x = 10;
messageLabel.y = 10;
messageLabel.text = "Text to send:";
messageLabel.autoSize = TextFieldAutoSize.LEFT;
addChild(messageLabel);
// message
message = new TextField();
message.x = messageLabel.x + messageLabel.width + hPadding;
message.y = 10;
message.width = 120;
message.height = 20;
message.background = true;
message.border = true;
message.type = TextFieldType.INPUT;
addChild(message);
// sendBtn
sendBtn = new Sprite();
sendBtn.x = message.x + message.width + hPadding;
sendBtn.y = 10;
var sendLbl:TextField = new TextField();
sendLbl.x = 1 + hPadding;
sendLbl.y = 1;
sendLbl.selectable = false;
sendLbl.autoSize = TextFieldAutoSize.LEFT;
sendLbl.text = "Send";
sendBtn.addChild(sendLbl);
sendBtn.graphics.lineStyle(1);
sendBtn.graphics.beginFill(0xcccccc);
sendBtn.graphics.drawRoundRect(0, 0, (sendLbl.width + 2 + hPadding + hPadding), (sendLbl.height + 2), 5, 5);
sendBtn.graphics.endFill();
addChild(sendBtn);
}
}
}
// Code in LocalConnectionReceiverExample.as
package {
import flash.display.Sprite;
import flash.net.LocalConnection;
import flash.text.TextField;
public class LocalConnectionReceiverExample extends Sprite {
private var conn:LocalConnection;
private var output:TextField;
public function LocalConnectionReceiverExample() {
buildUI();
conn = new LocalConnection();
conn.client = this;
try {
conn.connect("myConnection");
} catch (error:ArgumentError) {
trace("Can't connect...the connection name is already being used by another SWF");
}
}
public function lcHandler(msg:String) :void {
output.appendText(msg + "\n");
}
private function buildUI() :void {
output = new TextField();
output.background = true;
output.border = true;
output.wordWrap = true;
addChild(output);
}
}
}
코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트
현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/net/LocalConnection.html