패키지 | flash.net |
클래스 | public class NetConnection |
상속 | NetConnection EventDispatcher Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
NetConnection.connect()
를 호출하여 연결을 설정합니다. NetStream 클래스를 사용하여 연결을 통해 미디어 및 데이터 스트림을 전송합니다.
내용과 데이터를 Flash Player 및 AIR에 로드하는 것과 관련된 보안 정보는 다음을 참조하십시오.
- 내용 및 데이터를 웹 서버 또는 로컬 위치에서 Flash Player로 로드하려면 Flash Player 개발자 센터: 보안을 참조하십시오.
- 내용 및 데이터를 Flash Media Server에서 Flash Player 및 AIR로 로드하려면 Flash Media Server 설명서를 참조하십시오.
- 내용 및 데이터를 AIR에 로드하려면 Adobe AIR 개발자 센터를 참조하십시오.
이 클래스에 대한 콜백 메서드를 작성하려면 클래스를 확장하고 하위 클래스에서 콜백 메서드를 정의하거나, 객체에 client
속성을 할당하고 해당 객체에서 콜백 메서드를 정의합니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
client : Object
콜백 메서드가 호출되는 객체를 나타냅니다. | NetConnection | ||
connected : Boolean [읽기 전용]
응용 프로그램이 영구적인 RTMP 연결을 통해 서버에 연결되었는지(true) 그렇지 않은지(false)를 나타냅니다. | NetConnection | ||
connectedProxyType : String [읽기 전용]
Flash Media Server를 연결하는 데 사용되는 프록시 유형입니다. | NetConnection | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
defaultObjectEncoding : uint [정적]
NetConnection 객체에 대한 기본 객체 인코딩입니다. | NetConnection | ||
farID : String [읽기 전용]
이 Flash Player 또는 Adobe AIR 인스턴스가 연결된 Flash Media Server 인스턴스의 ID입니다. | NetConnection | ||
farNonce : String [읽기 전용]
Flash Media Server에서 이 연결에 고유하도록 주의깊게 선택한 값입니다. | NetConnection | ||
httpIdleTimeout : Number
HTTP 응답을 기다릴 시간(밀리초 단위)입니다. | NetConnection | ||
maxPeerConnections : uint
이 Flash Player 또는 Adobe AIR 인스턴스에서 허용하는 인바운드 및 아웃바운드 피어 연결의 총 개수입니다. | NetConnection | ||
nearID : String [읽기 전용]
이 NetConnection 인스턴스에 대한 이 Flash Player 또는 Adobe AIR 인스턴스의 ID입니다. | NetConnection | ||
nearNonce : String [읽기 전용]
이 Flash Player 또는 Adobe AIR 인스턴스에서 이 연결에 고유하도록 주의깊게 선택한 값입니다. | NetConnection | ||
objectEncoding : uint
이 NetConnection 인스턴스에 대한 객체 인코딩입니다. | NetConnection | ||
protocol : String [읽기 전용]
연결하는 데 사용되는 프로토콜입니다. | NetConnection | ||
proxyType : String
초기 Flash Media Server 연결 시도가 실패한 경우 어떤 폴백 메서드를 시도할지 결정합니다. | NetConnection | ||
unconnectedPeerStreams : Array [읽기 전용]
배급 NetStream 객체와 연관되지 않은 모든 피어 구독자 NetStream 객체를 보유하는 객체입니다. | NetConnection | ||
uri : String [읽기 전용]
URI가 NetConnection.connect() 메서드로 전달됩니다. | NetConnection | ||
usingTLS : Boolean [읽기 전용]
HTTPS가 아니라 기본 TLS(Transport Layer Security)를 사용하여 보안 연결이 이루어졌는지 여부를 나타냅니다. | NetConnection |
메서드 | 정의 주체 | ||
---|---|---|---|
NetConnection 객체를 만듭니다. | NetConnection | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | ||
AMF(Action Message Format) 패킷 구조에 컨텍스트 헤더를 추가합니다. | NetConnection | ||
Flash Media Server 또는 Flash Remoting을 실행하고 있는 응용 프로그램 서버에서 명령이나 메서드를 호출합니다. | NetConnection | ||
로컬 또는 서버에서 열었던 연결을 종료하고 NetConnection.Connect.Closed의 code 속성으로 netStatus 이벤트를 전달합니다. | NetConnection | ||
Flash Media Server의 응용 프로그램 또는 Flash Remoting에 대해 양방향 연결을 만들거나 RTMFP 피어 투 피어 그룹 통신을 위한 양방향 네트워크 끝점을 만듭니다. | NetConnection | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
이벤트 | 요약 | 정의 주체 | ||
---|---|---|---|---|
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | |||
기본 비동기 코드에서 비동기적으로 예외가 발생할 때 전달됩니다. | NetConnection | |||
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | |||
네트워크 작업의 실패를 유발하는 입력 또는 출력 오류가 발생할 때 전달됩니다. | NetConnection | |||
NetConnection 객체가 상태 또는 오류 상황을 보고할 때 전달됩니다. | NetConnection | |||
NetConnection.call() 호출로 호출자의 보안 샌드박스 외부에 있는 서버에 대한 연결을 시도하면 전달됩니다. | NetConnection |
client | 속성 |
client:Object
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
콜백 메서드가 호출되는 객체를 나타냅니다. 기본값은 이 NetConnection 인스턴스입니다. client
속성을 다른 객체로 설정하면 이 객체에서 콜백 메서드가 호출됩니다.
구현
public function get client():Object
public function set client(value:Object):void
오류
TypeError — client 속성은 null이 아닌 객체로 설정해야 합니다.
|
connected | 속성 |
connectedProxyType | 속성 |
connectedProxyType:String
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Flash Media Server를 연결하는 데 사용되는 프록시 유형입니다. 사용할 수 있는 값에는 "none"
, "HTTP"
, "HTTPS"
, "CONNECT"
가 있습니다.
연결이 터널링되지 않거나 기본 SSL 연결인 경우 값은 "none"
입니다.
연결이 HTTP를 통해 터널링되는 경우 값은 "HTTP"
입니다.
연결이 HTTPS를 통해 터널링되는 경우 값은 "HTTPS"
입니다
연결이 CONNECT 메서드를 사용하여 프록시 서버를 통해 터널링되는 경우 값은 "CONNECT"
입니다.
구현
public function get connectedProxyType():String
오류
ArgumentError — NetConnection 인스턴스가 연결되어 있지 않을 때 이 속성에 대한 액세스를 시도했습니다.
|
defaultObjectEncoding | 속성 |
defaultObjectEncoding:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
NetConnection 객체에 대한 기본 객체 인코딩입니다. 객체를 이진 데이터로 쓰거나 이진 데이터에서 읽을 때 defaultObjectEncoding
속성은 데이터를 직렬화하기 위해 ActionScript 3.0 형식(ObjectEncoding.AMF3
) 또는 ActionScript 1.0 및 ActionScript 2.0 형식(ObjectEncoding.AMF0
) 중 어떤 AMF(Action Message Format) 버전이 사용되는지를 나타냅니다.
기본값은 ObjectEncoding.AMF3
입니다. NetConnection.defaultObjectEncoding
을 변경해도 기존 NetConnection 인스턴스에는 영향이 없으며 이후 만들어지는 인스턴스에만 영향을 줍니다.
전체 응용 프로그램에 대한 객체 인코딩을 설정하는 대신 객체의 인코딩을 개별적으로 설정하려면 NetConnection 객체의 objectEncoding
속성을 설정합니다.
자세한 내용은 objectEncoding
속성의 설명을 참조하십시오.
구현
public static function get defaultObjectEncoding():uint
public static function set defaultObjectEncoding(value:uint):void
관련 API 요소
farID | 속성 |
farNonce | 속성 |
httpIdleTimeout | 속성 |
httpIdleTimeout:Number
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2.6 |
HTTP 응답을 기다릴 시간(밀리초 단위)입니다. 기본값은 0입니다.
httpIdleTimeout
값은Number
입니다.- HTTP 연결을 사용할 경우 양의 값은 비활성 연결을 열어 두어야 하는 시간(밀리초)을 나타냅니다.
- 값 0은 플랫폼의 기본 네트워킹 유휴 시간 제한 값을 사용해야 한다는 것을 나타냅니다.
- 음의 값이면
RangeError
가 발생합니다. httpIdleTimeout
값을 초과하면netStatus
이벤트가 전달됩니다.- 이 속성은 HTTP 연결로 만들어진
NetConnection
객체에만 영향을 줍니다. RTMP, RTMFP, 또는 다른 HTTP 채널로 만들어진NetConnection
객체는 이 속성의 영향을 받지 않습니다.
//Set the timeout to 5 seconds connection = new NetConnection(); connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); connection.httpIdleTimeout = 5000;
NetConnection
의 시간 제한이 httpIdleTimeout
값을 사용하여 지정된 것보다 몇 초 더 길 수 있습니다.
구현
public function get httpIdleTimeout():Number
public function set httpIdleTimeout(value:Number):void
maxPeerConnections | 속성 |
maxPeerConnections:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
이 Flash Player 또는 Adobe AIR 인스턴스에서 허용하는 인바운드 및 아웃바운드 피어 연결의 총 개수입니다. 기본값은 8입니다.
이 값은 제작자와 구독자 연결을 구분하지 않습니다. 피어가 연결된 동안에는 이 값이 감소되어도 새 값은 새로 들어오는 연결에만 영향을 줍니다. 기존 연결은 끊어지지 않습니다.
구현
public function get maxPeerConnections():uint
public function set maxPeerConnections(value:uint):void
nearID | 속성 |
nearID:String
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
이 NetConnection 인스턴스에 대한 이 Flash Player 또는 Adobe AIR 인스턴스의 ID입니다. 이 속성은 RTMFP 연결에서만 의미가 있습니다.
각 NetConnection 인스턴스에는 고유한 nearID
속성이 있습니다. 어떠한 Flash Player, Adobe AIR 인스턴스 또는 NetConnection 인스턴스도 같은 ID를 갖지 않습니다.
다른 Flash Player 또는 Adobe AIR 인스턴스에서는 이 ID를 이 클라이언트에 대한 새 NetStream 연결의 peerID
로 사용합니다. 결과적으로 이 ID는 이 인스턴스에 연결된 모든 피어 NetStream의 farID
입니다.
구현
public function get nearID():String
관련 API 요소
nearNonce | 속성 |
objectEncoding | 속성 |
objectEncoding:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
이 NetConnection 인스턴스에 대한 객체 인코딩입니다.
객체를 이진 데이터로 쓰거나 이진 데이터에서 읽을 때 defaultObjectEncoding
속성은 데이터를 직렬화하기 위해 ActionScript 3.0 형식(ObjectEncoding.AMF3
) 또는 ActionScript 1.0 및 ActionScript 2.0 형식(ObjectEncoding.AMF0
) 중 어떤 AMF(Action Message Format) 버전이 사용되는지를 나타냅니다. objectEncoding
속성을 설정해서 NetConnection 인스턴스에 대한 AMF 버전을 설정합니다.
응용 프로그램이 Flash Player 9 이전에 릴리스된 서버와 통신해야 하는 경우 이 속성을 잘 이해해야 합니다. 다음과 같은 세 가지 시나리오가 가능합니다.
- AMF3를 지원하는 서버로 연결(예: Flex Data Services 2 또는 Flash Media Server 3)
defaultObjectEncoding
의 기본값은ObjectEncoding.AMF3
입니다. 이 파일에서 만들어진 모든 NetConnection 인스턴스는 AMF3 직렬화를 사용하므로objectEncoding
속성을 설정할 필요가 없습니다. - AMF3를 지원하지 않는 서버로 연결(예: Flash Media Server 2) 이 시나리오에서는 정적
NetConnection.defaultObjectEncoding
속성을ObjectEncoding.AMF0
으로 설정합니다. 이 SWF 파일에서 만들어진 모든 NetConnection 인스턴스는 AMF0 직렬화를 사용합니다.objectEncoding
속성을 설정할 필요가 없습니다. - 다른 인코딩 버전을 사용하는 여러 서버에 연결합니다.
defaultObjectEncoding
을 사용하는 대신 각 연결의objectEncoding
속성을 사용하여 연결 기준으로 객체의 인코딩을 설정합니다. Flash Media Server 2와 같은 AMF0 인코딩을 사용하는 서버로 연결하려면ObjectEncoding.AMF0
으로 설정하고, Flex Data Services 2와 같은 AMF3 인코딩을 사용하는 서버로 연결하려면ObjectEncoding.AMF3
으로 설정합니다.
NetConnection 인스턴스가 연결되면 objectEncoding
속성은 읽기 전용이 됩니다.
서버 연결 시 잘못된 인코딩을 사용하면 NetConnection 객체는 netStatus
이벤트를 전달합니다. NetStatusEvent.info
속성에는 code
속성 값이 NetConnection.Connect.Failed
인 정보 객체와 객체의 인코딩이 잘못되었음을 설명하는 정보 객체가 포함되어 있습니다.
구현
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
오류
ReferenceError — NetConnection 인스턴스가 연결된 상태에서 objectEncoding 속성 값을 설정하려고 시도했습니다.
| |
ArgumentError — 이 속성 값이 ObjectEncoding.AMF0 또는 ObjectEncoding.AMF3 이외의 값으로 설정되었습니다.
|
관련 API 요소
protocol | 속성 |
protocol:String
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
연결하는 데 사용되는 프로토콜입니다. 이 속성은 Flash Media Server를 사용할 때 적용됩니다. 사용 가능한 값은 다음과 같습니다.
"rtmp"
: RTMP(Real-Time Messaging Protocol)"rtmpe"
: 암호화된 RTMP"rtmpt"
: HTTP 터널링 RTMP"rtmpte"
: HTTP 터널링 암호화된 RTMP"rtmps"
: HTTPS 기반 RTMP"rtmfp"
: RTMFP(Real-Time Media Flow Protocol)
구현
public function get protocol():String
오류
ArgumentError — NetConnection 인스턴스가 연결되어 있지 않을 때 이 속성에 대한 액세스를 시도했습니다.
|
proxyType | 속성 |
proxyType:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
초기 Flash Media Server 연결 시도가 실패한 경우 어떤 폴백 메서드를 시도할지 결정합니다. proxyType
속성을 설정한 후 NetConnection.connect()
메서드를 호출합니다.
사용 가능한 값은 "none"
, "HTTP"
, "CONNECTOnly"
, "CONNECT"
및 "best"
입니다. 기본값은 "none"
입니다.
기본 SSL을 사용하려면 속성을 "best"
로 설정합니다. 플레이어가 기본 포트 443 또는 직접 지정한 또 다른 포트를 통해 서버에 직접 연결할 수 없고 프록시 서버가 있는 경우 플레이어는 CONNECT 메서드를 사용합니다. 이 작업이 실패하면 HTTPS를 통해 터널링합니다.
속성이 "CONNECTOnly"
로 설정된 경우 플레이어는 CONNECT
메서드를 먼저 사용하려고 합니다. 이 작업이 실패하면 폴백은 없습니다.
속성이 "HTTP"
로 설정되고 직접 연결에 실패한 경우 HTTP 터널링이 사용됩니다. 속성이 "CONNECT"
로 설정되고 직접 연결에 실패한 경우 터널링의 CONNECT
메서드가 사용됩니다. 실패하는 경우에도 연결이 HTTP 터널링으로 폴백하지 않습니다.
이 속성은 RTMP, RTMPS 또는 RTMPT를 사용하는 경우에만 적용할 수 있습니다. CONNECT
및 CONNECTOnly
메서드는 프록시 서버를 통해 네트워크에 연결된 사용자에게만 적용할 수 있습니다.
구현
public function get proxyType():String
public function set proxyType(value:String):void
unconnectedPeerStreams | 속성 |
uri | 속성 |
usingTLS | 속성 |
usingTLS:Boolean
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
HTTPS가 아니라 기본 TLS(Transport Layer Security)를 사용하여 보안 연결이 이루어졌는지 여부를 나타냅니다. 이 속성은 NetConnection 객체가 연결되어 있을 때만 유효합니다.
구현
public function get usingTLS():Boolean
오류
ArgumentError — NetConnection 인스턴스가 연결되어 있지 않을 때 이 속성에 대한 액세스를 시도했습니다.
|
NetConnection | () | 생성자 |
public function NetConnection()
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
NetConnection 객체를 만듭니다. connect()
메서드를 호출하여 연결합니다.
응용 프로그램이 Flash Player 9 이전에 릴리스된 서버와 통신해야 하는 경우 NetConnection 객체의 objectEncoding
속성을 설정합니다.
다음 코드는 NetConnection 객체를 만듭니다.
var nc:NetConnection = new NetConnection();
관련 API 요소
addHeader | () | 메서드 |
public function addHeader(operation:String, mustUnderstand:Boolean = false, param:Object = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
AMF(Action Message Format) 패킷 구조에 컨텍스트 헤더를 추가합니다. 이 헤더는 향후 전송되는 모든 AMF 패킷과 함께 전송됩니다. 동일한 이름을 사용하여 NetConnection.addHeader()
를 호출하면 새 헤더가 기존 헤더를 교체하고, 새 헤더가 NetConnection 객체가 존재하는 동안 지속됩니다. 정의되지 않은 객체를 제거하는 NetConnection.addHeader()
헤더를 호출하면 헤더를 제거할 수 있습니다.
매개 변수
operation:String — 헤더와 이와 연관된 ActionScript 객체 데이터를 식별합니다.
| |
mustUnderstand:Boolean (default = false ) — true 값은 다음 헤더 또는 메시지를 처리하기 전에 서버가 이 헤더를 이해하고 처리해야 한다는 것을 나타냅니다.
| |
param:Object (default = null ) — ActionScript 객체입니다.
|
call | () | 메서드 |
public function call(command:String, responder:Responder, ... arguments):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Flash Media Server 또는 Flash Remoting을 실행하고 있는 응용 프로그램 서버에서 명령이나 메서드를 호출합니다. 서버와 연결하려면 NetConnection.call()
를 호출하기 전에 NetConnection.connect()
를 먼저 호출해야 합니다. 이 메서드를 전달하려면 서버측 함수를 만들어야 합니다.
일반적으로 예약된 포트에 연결할 수 없습니다. 차단된 포트의 전체 목록은 ActionScript 3.0 개발자 안내서의 "제한적 네트워킹 API"를 참조하십시오.
매개 변수
command:String — [objectPath/]method 형식으로 지정된 메서드입니다. 예를 들어 someObject/doSomething 명령은 모든 선택적 ... arguments 매개 변수를 사용하여 clientObject.someObject.doSomething() 메서드를 호출하도록 원격 서버에 지시합니다. 객체 경로가 없는 경우 원격 서버에서 clientObject.doSomething() 이 호출됩니다.
Flash Media Server가 있을 경우, | |
responder:Responder — 서버로부터의 반환 값을 처리하기 위해 사용되는 선택적 객체입니다. Responder 객체는 반환 값을 처리하기 위해 result 와 status 라는 두 가지 정의된 메서드를 가질 수 있습니다. 결과로 오류가 반환될 경우 status 가 호출되고, 그렇지 않으면 result 가 호출됩니다. Responder 객체는 특정 작업과 관련된 오류를 처리할 수 있으며 NetConnection 객체는 연결 상태와 관련된 오류에 응답할 수 있습니다.
| |
... arguments — 선택적 인수는 다른 ActionScript 객체에 대한 참조를 포함하여 어떤 ActionScript 유형이나 가능합니다. 이러한 인수는 메서드가 원격 응용 프로그램 서버에서 실행될 때 command 매개 변수에 지정된 메서드로 전달됩니다.
|
이벤트
securityError: — 호출자의 보안 샌드박스 외부의 서버와 통신하려고 시도했습니다. 서버의 정책 파일을 사용하여 이 문제를 해결할 수 있습니다.
|
관련 API 요소
close | () | 메서드 |
public function close():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
로컬 또는 서버에서 열었던 연결을 종료하고 NetConnection.Connect.Closed
의 code
속성으로 netStatus
이벤트를 전달합니다.
이 메서드는 연결을 통해 실행하는 모든 NetStream 객체의 연결을 종료합니다. 전송되지 않은 모든 대기열의 데이터는 버립니다. 연결을 닫지 않고 로컬 또는 서버 스트림을 종료하려면 NetStream.close()
를 사용합니다. 연결을 닫은 후 새 연결을 만들려면 새로운 NetConnection 객체를 만들고 connect()
메서드를 다시 호출해야 합니다.
또한 close()
메서드는 이 연결을 통해 실행되는 모든 원격 공유 객체의 연결도 끊습니다. 하지만 다시 연결하기 위해 공유 객체를 다시 만들 필요는 없습니다. 대신 SharedObject.connect()
를 호출하여 공유 객체에 대한 연결을 다시 설정할 수 있습니다. 또한 NetConnection.close()
를 실행할 때 대기열에 있던 공유 객체의 모든 데이터는 공유 객체에 대한 연결을 다시 설정한 후에 전송됩니다.
Flash Media Server를 사용할 경우, 클라이언트가 더 이상 서버와의 연결을 필요로 하지 않을 때 close()
를 호출하는 것이 가장 좋은 개발 방식입니다. close()
를 호출하는 것이 사용하지 않는 연결을 끊는 가장 빠른 방법입니다. 보완적인 방법으로 유휴 연결을 자동으로 닫도록 서버를 구성할 수도 있습니다. 자세한 내용은 Flash Media Server 구성 및 관리 안내서를 참조하십시오.
관련 API 요소
connect | () | 메서드 |
public function connect(command:String, ... arguments):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Flash Media Server의 응용 프로그램 또는 Flash Remoting에 대해 양방향 연결을 만들거나 RTMFP 피어 투 피어 그룹 통신을 위한 양방향 네트워크 끝점을 만듭니다. 상태 또는 오류 조건을 보고하려면 NetConnection.connect()
에 대한 호출에서 netStatus
이벤트를 전달합니다.
NetConnection.connect()
를 호출하여 다음을 수행합니다.
- "null"을 전달하여 로컬 파일 시스템 또는 웹 서버에서 비디오 및 mp3 파일을 재생합니다.
- "http" URL을 전달하여 Flash Remoting을 실행하는 응용 프로그램 서버에 연결합니다. NetConnection 객체를 통해 함수를 호출하고 응용 프로그램 서버로부터 결과를 반환하려면 NetServices 클래스를 사용합니다. 자세한 내용은 Flash Remoting 설명서를 참조하십시오.
- "rtmp/e/s" URL을 전달하여 Flash Media Server 응용 프로그램에 연결합니다.
- "rtmfp" URL을 전달하여 RTMFP 클라이언트-서버, 피어 투 피어, IP 멀티캐스트 통신을 위한 양방향 네트워크 끝점을 만듭니다.
- 문자열 "rtmfp:"를 전달하여 RTMFP IP 멀티캐스트 통신을 위한 서버 없는 양방향 네트워크 끝점을 만듭니다.
다음과 같은 보안 모델을 고려합니다.
- 기본적으로 Flash Player 또는 AIR는 샌드박스 간의 액세스를 거부합니다. URL 정책 파일을 사용하여 웹 사이트에서 리소스에 액세스를 허용할 수 있습니다.
- 응용 프로그램은 서버 리소스에 대한 액세스를 거부할 수 있습니다. Flash Media Server 응용 프로그램에서 서버측 ActionScript 코드를 사용하여 액세스를 거부합니다. 자세한 내용은 Flash Media Server 설명서를 참조하십시오.
- 호출하는 파일이 local-with-file-system 샌드박스에 있는 경우
NetConnection.connect()
를 호출할 수 없습니다. - 일반적으로 예약된 포트에 연결할 수 없습니다. 차단된 포트의 전체 목록은 ActionScript 3.0 개발자 안내서의 "제한적 네트워킹 API"를 참조하십시오.
- SWF 파일에서 이 메서드를 호출하지 못하도록 하려면 해당 SWF 내용이 포함된 HTML 페이지에서
object
및embed
태그의allowNetworking
매개 변수를 설정합니다.
그러나 Adobe AIR에서 application
보안 샌드박스의 내용, 즉 AIR 응용 프로그램과 함께 설치되는 내용은 이러한 보안 제한에 의해 제한되지 않습니다.
보안에 대한 자세한 내용은 Adobe Flash Player 개발자 센터에서 보안을 참조하십시오.
매개 변수
command:String — command 매개 변수에 다음 값 중 하나를 사용합니다.
이 연결 유형에는 다음과 같은 제한 사항이 있습니다. 동일한 LAN에 있는 피어끼리만 검색할 수 있습니다. IP 멀티캐스트를 사용하는 경우 Flash Player는 스트림을 수신할 수 있지만 전송할 수는 없습니다. Flash Player 및 AIR는 피어 투 피어 그룹에서 스트림을 전송하고 수신할 수 있지만 IP 멀티캐스트를 사용하는 동일한 LAN에서 피어를 검색해야 합니다. 이 기술은 일대일 통신에 사용할 수 없습니다. | |
... arguments — command 에 지정된 응용 프로그램으로 전달된 모든 유형의 선택적 매개 변수입니다. Flash Media Server가 있으면 추가 인수는 응용 프로그램의 서버측 코드에서 application.onConnect() 이벤트 핸들러로 전달됩니다. 반드시 onConnect() 에서 인수를 정의하고 처리해야 합니다.
|
오류
ArgumentError — command 매개 변수에 전달된 URI가 잘못된 형식입니다.
| |
IOError — 연결에 실패했습니다. netStatus 이벤트 핸들러 내에서 connect() 를 호출하는 경우 이러한 상황이 발생할 수 있으며, 이는 허용되지 않습니다.
| |
SecurityError — Local-with-filesystem SWF 파일은 인터넷 통신이 불가능합니다. SWF 파일을 네트워킹 가능한 로컬 파일(local-with-networking) 또는 신뢰할 수 있는 파일로 다시 규정하면 이 문제를 해결할 수 있습니다.
| |
SecurityError — 일반적으로 예약된 포트에 연결할 수 없습니다. 차단된 포트의 전체 목록은 ActionScript 3.0 개발자 안내서의 "제한적 네트워킹 API"를 참조하십시오.
|
관련 API 요소
asyncError | 이벤트 |
flash.events.AsyncErrorEvent
속성 AsyncErrorEvent.type =
flash.events.AsyncErrorEvent.ASYNC_ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
기본 비동기 코드에서 비동기적으로 예외가 발생할 때 전달됩니다.
AsyncErrorEvent.ASYNC_ERROR
상수는 asyncError
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 이벤트를 전달하는 객체입니다. |
error | 이벤트를 트리거한 오류입니다. |
ioError | 이벤트 |
flash.events.IOErrorEvent
속성 IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
네트워크 작업의 실패를 유발하는 입력 또는 출력 오류가 발생할 때 전달됩니다.
ioError
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
errorID | 특정 오류와 연결된 참조 번호입니다(AIR만 해당). |
target | 입력/출력 오류가 발생한 네트워크 객체입니다. |
text | 오류 메시지로 표시될 텍스트입니다. |
netStatus | 이벤트 |
flash.events.NetStatusEvent
속성 NetStatusEvent.type =
flash.events.NetStatusEvent.NET_STATUS
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
NetConnection 객체가 상태 또는 오류 상황을 보고할 때 전달됩니다. netStatus
이벤트에는 연결 시도의 성공 또는 실패 등 이벤트에 대한 특정 정보가 포함된 정보 객체인 info
속성이 포함되어 있습니다.
netStatus
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
info | 객체의 상태 또는 오류 상황을 설명하는 속성이 있는 객체입니다. |
target | 상태를 보고하는 NetConnection 또는 NetStream 객체입니다. |
관련 API 요소
securityError | 이벤트 |
flash.events.SecurityErrorEvent
속성 SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
NetConnection.call() 호출로 호출자의 보안 샌드박스 외부에 있는 서버에 대한 연결을 시도하면 전달됩니다.
SecurityErrorEvent.SECURITY_ERROR
상수는 securityError
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 보안 오류를 보고하는 네트워크 객체입니다. |
text | 오류 메시지로 표시될 텍스트입니다. |
관련 API 요소
이 예제에서는 Video 및 NetStream 객체를 만들고 Video.attachNetStream()
및 NetStream.play()
메서드를 호출하는 코드가 핸들러 함수에 배치됩니다. 핸들러는 NetConnection 객체에 대한 연결에 성공할 경우, 즉 netStatus
이벤트가 성공을 나타내는 code
속성이 있는 info
객체를 반환할 경우에만 호출됩니다. 연결에 성공할 때까지 기다렸다가 NetStream.play()
를 호출하는 것이 좋습니다.
package { import flash.display.Sprite; import flash.events.NetStatusEvent; import flash.events.SecurityErrorEvent; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; import flash.events.Event; public class NetConnectionExample extends Sprite { private var videoURL:String = "http://www.helpexamples.com/flash/video/cuepoints.flv"; private var connection:NetConnection; private var stream:NetStream; private var video:Video = new Video(); public function NetConnectionExample() { connection = new NetConnection(); connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); connection.connect(null); } private function netStatusHandler(event:NetStatusEvent):void { switch (event.info.code) { case "NetConnection.Connect.Success": connectStream(); break; case "NetStream.Play.StreamNotFound": trace("Stream not found: " + videoURL); break; } } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function connectStream():void { addChild(video); var stream:NetStream = new NetStream(connection); stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); stream.client = new CustomClient(); video.attachNetStream(stream); stream.play(videoURL); } } } class CustomClient { public function onMetaData(info:Object):void { trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate); } public function onCuePoint(info:Object):void { trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type); } }
Tue Jun 12 2018, 03:17 PM Z