| Player 버전 : | Flash Player 9 |
Socket 클래스는 ActionScript 코드를 활성화하여 소켓 연결을 만들고 원시 이진 데이터를 읽고 쓸 수 있도록 합니다. XMLSocket과 유사하지만, 수신된 또는 전송된 데이터의 형식을 지정하지는 않습니다.
소켓 클래스는 이진 프로토콜을 사용하는 서버와의 작업에서 유용합니다.
이 클래스를 사용할 경우 다음과 같은 Flash Player 보안 모델을 생각해 볼 수 있습니다.
- 호출하는 SWF 파일이 local-with-file-system 샌드박스에 있고 대상 리소스가 네트워크 샌드박스에서 가져온 것이면 데이터를 로드할 수 없습니다.
- 호출하는 SWF 파일이 네트워크 샌드박스에서 가져온 것이고 대상 리소스가 로컬 시스템에 있는 경우에도 데이터를 로드할 수 없습니다.
- 호출하는 SWF 파일과 액세스할 네트워크 리소스는 반드시 같은 도메인에 속해야 합니다. 예를 들어, adobe.com의 SWF 파일은 adobe.com의 서버 데몬에만 연결할 수 있습니다.
- 웹 사이트에서 크로스 도메인 정책 파일을 통해 리소스에 대한 도메인 간 액세스를 허용할 수 있습니다.
자세한 내용은 다음을 참조하십시오.
예제를 통해 확인하십시오.
bytesAvailable:uint [read-only]
| Player 버전 : | Flash Player 9 |
입력 버퍼에서 읽을 수 있는 데이터 바이트 수입니다.
read 메서드 중 하나를 사용하여 읽기를 시도하기 전에 충분한 데이터가 있는지 확인하기 위해 코드에서 bytesAvailable에 액세스해야 합니다.
구현
public function get bytesAvailable():uint
connected:Boolean [read-only]
| Player 버전 : | Flash Player 9 |
이 소켓 객체가 현재 연결되어 있는지 여부를 나타냅니다. 현재 소켓이 연결된 경우, 이 속성을 호출하면 true 값이 반환됩니다. 그렇지 않으면 false가 반환됩니다.
구현
public function get connected():Boolean
endian:String [read-write]
| Player 버전 : | Flash Player 9 |
데이터의 바이트 순서를 나타냅니다. flash.utils.Endian 클래스에서 Endian.BIG_ENDIAN 또는 Endian.LITTLE_ENDIAN 상수 값을 가질 수 있습니다.
기본값은 Endian.BIG_ENDIAN.
구현
public function get endian():String
public function set endian(value:String):void
참고 사항
objectEncoding:uint [read-write]
| Player 버전 : | Flash Player 9 |
객체를 쓰거나 읽을 때 사용되는 AMF 버전을 제어합니다.
구현
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
참고 사항
public function Socket(host:String = null, port:int = 0)
| Player 버전 : | Flash Player 9 |
Socket 객체를 만듭니다. 매개 변수가 지정되지 않은 경우 처음에는 연결 해제된 소켓이 만들어집니다. 매개 변수가 지정되면 지정된 호스트 및 포트와의 연결이 시도됩니다.
매개 변수
| host:String (default = null) — 연결할 호스트 이름입니다. 매개 변수가 지정되지 않은 경우 처음에는 연결 해제된 소켓이 만들어집니다.
|
| |
| port:int (default = 0) — 연결할 포트 번호입니다. 매개 변수가 지정되지 않은 경우 처음에는 연결 해제된 소켓이 만들어집니다.
|
이벤트
| connect:Event — 네트워크 연결이 설정되면 전달됩니다. |
| |
| ioError:IOErrorEvent — 연결 실패를 유발하는 입출력 오류가 발생하면 전달됩니다. |
| |
| securityError:SecurityErrorEvent — Socket.connect() 호출로 호출자의 보안 샌드박스 외부에 있는 서버 또는 1024 미만인 포트에 대한 연결을 시도하면 전달됩니다. 서버에서 크로스 도메인 정책 파일을 사용하면 두 오류를 모두 해결할 수 있습니다. 소켓을 위한 정책 파일에 대한 자세한 내용은 ActionScript 3.0 프로그래밍의 "Flash Player 보안" 장을 참조하십시오. |
오류
| SecurityError — 이 오류는 다음과 같은 이유로 발생합니다.
- 신뢰할 수 없는 로컬 SWF 파일은 인터넷 통신이 불가능합니다. 이 SWF 파일을 네트워킹 가능한 로컬 파일(local-with-networking) 또는 신뢰할 수 있는 파일로 다시 규정하면 이 오류를 해결할 수 있습니다.
- 65535보다 큰 소켓 포트는 지정할 수 없습니다.
|
public function close():void
| Player 버전 : | Flash Player 9 |
소켓을 닫습니다. close() 메서드가 호출된 후에는 데이터를 읽거나 쓸 수 없습니다.
close 이벤트는 서버가 연결을 종료할 때만 전달됩니다. close() 메서드를 호출할 때는 전달되지 않습니다.
Socket 객체에 대해 connect() 메서드를 호출하여 이 객체를 다시 사용할 수 있습니다.
오류
| IOError — 소켓을 닫을 수 없거나, 소켓이 열려 있지 않습니다.
|
public function connect(host:String, port:int):void
| Player 버전 : | Flash Player 9 |
소켓을 지정된 호스트 및 포트에 연결합니다. 연결에 바로 실패하면 이벤트가 전달되거나 예외가 발생합니다. 호스트가 지정된 경우 오류 이벤트가 전달되고, 지정된 호스트가 없으면 예외가 발생합니다. 그렇지 않으면 이벤트에서 연결 상태를 보고합니다. 이미 소켓이 연결된 경우 기존 연결이 먼저 종료됩니다.
매개 변수
| host:String — 연결할 호스트 이름입니다. 호스트가 지정되지 않은 경우, 호출하는 SWF 파일이 있는 호스트가 연결되는 호스트입니다. 호스트를 지정하지 않을 경우, 이벤트 리스너를 사용하여 연결 성공 여부를 확인합니다.
|
| |
| port:int — 연결할 포트 번호입니다.
|
이벤트
| connect:Event — 네트워크 연결이 설정되면 전달됩니다. |
| |
| ioError:IOErrorEvent — 호스트가 지정되고 연결 실패를 유발하는 입출력 오류가 발생하면 전달됩니다. |
| |
| securityError:SecurityErrorEvent — Socket.connect() 호출로 호출자의 보안 샌드박스 외부에 있는 서버 또는 1024 미만인 포트에 대한 연결을 시도하면 전달됩니다. 서버에서 크로스 도메인 정책 파일을 사용하면 두 오류를 모두 해결할 수 있습니다. 자세한 내용은 ActionScript 3.0 프로그래밍의 "Flash Player 보안" 장을 참조하십시오. |
오류
| IOError — 지정된 호스트가 없으며 연결에 실패했습니다.
|
| |
| SecurityError — 이 오류는 다음과 같은 이유로 발생합니다.
- 신뢰할 수 없는 로컬 SWF 파일은 인터넷 통신이 불가능합니다. 이 SWF 파일을 네트워킹 가능한 로컬 파일(local-with-networking) 또는 신뢰할 수 있는 파일로 다시 규정하면 이 오류를 해결할 수 있습니다.
- 65535보다 큰 소켓 포트는 지정할 수 없습니다.
- SWF 내용을 포함하는 HTML 페이지에서
object 및 embed 태그의 allowNetworking 매개 변수가 "none"으로 설정되어 있습니다.
|
참고 사항
public function flush():void
| Player 버전 : | Flash Player 9 |
소켓의 출력 버퍼에 축적된 데이터를 모두 플러시합니다. write 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readBoolean():Boolean
| Player 버전 : | Flash Player 9 |
소켓에서 부울 값을 읽습니다. 메서드는 단일 바이트를 읽은 후 바이트가 0이 아니면 true를 반환하고 그렇지 않으면 false를 반환합니다.
반환값
| Boolean — 바이트 읽기가 0이 아니면 값은 true이고, 그렇지 않으면 false입니다.
|
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readByte():int
| Player 버전 : | Flash Player 9 |
소켓에서 부호 있는 바이트를 읽습니다.
반환값
| int — -128부터 127까지의 값입니다.
|
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
| Player 버전 : | Flash Player 9 |
소켓에서 length 매개 변수로 지정된 만큼의 데이터 바이트를 읽습니다. offset에서 표시하는 위치부터 시작하여 지정된 바이트 배열로 바이트를 읽어들입니다.
매개 변수
| bytes:ByteArray — 데이터를 읽어들일 ByteArray 객체입니다.
|
| |
| offset:uint (default = 0) — 바이트 배열에서 데이터 읽기가 시작되어야 하는 오프셋입니다.
|
| |
| length:uint (default = 0) — 읽을 바이트 수입니다. 기본값인 0을 사용하면 읽을 수 있는 데이터를 모두 읽습니다.
|
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readDouble():Number
| Player 버전 : | Flash Player 9 |
소켓에서 IEEE 754 배정밀도 부동 소수점 숫자를 읽습니다.
반환값
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readFloat():Number
| Player 버전 : | Flash Player 9 |
소켓에서 IEEE 754 단정밀도 부동 소수점 숫자를 읽습니다.
반환값
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readInt():int
| Player 버전 : | Flash Player 9 |
소켓에서 부호 있는 32비트 정수를 읽습니다.
반환값
| int — -2147483648부터 2147483647까지의 값입니다.
|
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readMultiByte(length:uint, charSet:String):String
| Player 버전 : | Flash Player 9 |
지정된 문자 세트를 사용하여 바이트 스트림에서 멀티바이트 문자열을 읽습니다.
매개 변수
| length:uint — 바이트 스트림에서 읽을 바이트 수입니다.
|
| |
| charSet:String — 바이트 해석에 사용할 문자 세트를 표시하는 문자열입니다. 가능한 문자 세트 문자열은 "shift_jis", "CN-GB" 및 "iso-8859-1" 등입니다. 전체 목록은 Supported Character Sets를 참조하십시오.
참고: 현재 시스템에서 charSet 매개 변수의 값을 인식하지 못하면 Flash Player에서 시스템의 기본 코드 페이지를 문자 세트로 사용합니다. 예를 들어 1이 아니라 01을 사용하는 myTest.readMultiByte(22, "iso-8859-01")의 경우처럼 charSet 매개 변수의 값이 사용자의 개발 컴퓨터에서는 작동하지만 다른 컴퓨터에서는 작동하지 않을 수 있습니다. 다른 컴퓨터에서는 Flash Player에서 시스템의 기본 코드 페이지를 사용합니다.
|
반환값
오류
public function readObject():*
| Player 버전 : | Flash Player 9 |
소켓에서 AMF 직렬 형식으로 인코딩된 객체를 읽습니다.
반환값
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
public function readShort():int
| Player 버전 : | Flash Player 9 |
소켓에서 부호 있는 16비트 정수를 읽습니다.
반환값
| int — -32768부터 32767까지의 값입니다.
|
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readUnsignedByte():uint
| Player 버전 : | Flash Player 9 |
소켓에서 부호 없는 바이트를 읽습니다.
반환값
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readUnsignedInt():uint
| Player 버전 : | Flash Player 9 |
소켓에서 부호 없는 32비트 정수를 읽습니다.
반환값
| uint — 0부터 4294967295까지의 값입니다.
|
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readUnsignedShort():uint
| Player 버전 : | Flash Player 9 |
소켓에서 부호 없는 16비트 정수를 읽습니다.
반환값
| uint — 0부터 65535까지의 값입니다.
|
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readUTF():String
| Player 버전 : | Flash Player 9 |
소켓에서 UTF-8 문자열을 읽습니다. 문자열 앞에는 길이를 바이트 단위로 나타낸 부호 없는 짧은 정수가 붙는 것으로 취급합니다.
반환값
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function readUTFBytes(length:uint):String
| Player 버전 : | Flash Player 9 |
소켓에서 length 매개 변수로 지정된 만큼의 UTF-8 데이터 바이트를 읽고 문자열을 반환합니다.
매개 변수
| length:uint — 읽을 바이트 수입니다.
|
반환값
오류
| EOFError — 읽을 수 있는 데이터가 부족합니다.
|
| |
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
public function writeBoolean(value:Boolean):void
| Player 버전 : | Flash Player 9 |
소켓에 부울 값을 씁니다. 이 메서드는 1(true) 또는 0(false)의 값으로 단일 바이트를 씁니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
| value:Boolean — 소켓에 쓸 값은 1(true) 또는 0( false)입니다.
|
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
public function writeByte(value:int):void
| Player 버전 : | Flash Player 9 |
소켓에 바이트를 씁니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
| value:int — 소켓에 쓸 값입니다. 값의 하위 8비트가 사용되고, 상위 24비트는 무시됩니다.
|
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
| Player 버전 : | Flash Player 9 |
지정된 바이트 배열로부터 바이트 시퀀스를 씁니다. offset으로 지정된 위치부터 쓰기 작업이 시작됩니다.
length 매개 변수를 생략할 경우, 기본 길이 0으로 설정되면 메서드는 offset부터 시작하여 전체 버퍼를 쓰게 됩니다.
또한 offset 매개 변수를 생략할 경우 전체 버퍼를 씁니다.
offset 또는 length가 범위를 벗어난 경우, bytes 배열의 시작 및 끝과 일치하도록 조정됩니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
| bytes:ByteArray — 이 ByteArray 객체로부터 데이터를 씁니다.
|
| |
| offset:uint (default = 0) — bytes ByteArray 객체에 대한 0부터 시작하는 오프셋으로, 여기서부터 데이터 쓰기가 시작되어야 합니다.
|
| |
| length:uint (default = 0) — 쓸 바이트 수입니다. 기본값 0으로 설정되면 offset 매개 변수가 지정하는 값을 시작으로 전체 버퍼를 씁니다.
|
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
public function writeDouble(value:Number):void
| Player 버전 : | Flash Player 9 |
소켓에 IEEE 754 배정밀도 부동 소수점 숫자를 씁니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
public function writeFloat(value:Number):void
| Player 버전 : | Flash Player 9 |
소켓에 IEEE 754 단정밀도 부동 소수점 숫자를 씁니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
public function writeInt(value:int):void
| Player 버전 : | Flash Player 9 |
소켓에 부호 있는 32비트 정수를 씁니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
public function writeMultiByte(value:String, charSet:String):void
| Player 버전 : | Flash Player 9 |
지정된 문자 세트를 사용하여 바이트 스트림에서 멀티바이트 문자열을 씁니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
참고 사항
public function writeObject(object:*):void
| Player 버전 : | Flash Player 9 |
소켓에 AMF 직렬 형식으로 객체를 씁니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
public function writeShort(value:int):void
| Player 버전 : | Flash Player 9 |
소켓에 16비트 정수를 씁니다. 다음과 같이 바이트를 씁니다.
(v >> 8) & 0xff v & 0xff
매개 변수의 하위 16비트가 사용되고, 상위 16비트는 무시됩니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
public function writeUnsignedInt(value:uint):void
| Player 버전 : | Flash Player 9 |
소켓에 부호 없는 32비트 정수를 씁니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
public function writeUTF(value:String):void
| Player 버전 : | Flash Player 9 |
소켓에 부호 없는 16비트 정수를 기록합니다. 이것은 지정된 UTF-8 문자열의 바이트 수와 문자열 자체의 길이를 의미합니다.
문자열을 쓰기 전에 메서드는 문자열의 모든 문자를 나타내는 데 필요한 바이트 수를 계산합니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
오류
참고 사항
public function writeUTFBytes(value:String):void
| Player 버전 : | Flash Player 9 |
소켓에 UTF-8 문자열을 씁니다.
참고: 이 메서드로 쓴 데이터는 즉시 전송되지 않고 flush() 메서드가 호출될 때까지 대기열에 보관됩니다.
매개 변수
오류
| IOError — 소켓에서 입출력 오류가 발생했거나 소켓이 열려 있지 않습니다.
|
참고 사항
이벤트 객체 유형: flash.events.Event
Event.type property = flash.events.Event.CLOSE
| Player 버전 : | Flash Player 9 |
서버가 소켓 연결을 종료할 때 전달됩니다. close 이벤트는 서버가 연결을 종료할 때만 전달됩니다. Socket.close() 메서드를 호출할 때는 전달되지 않습니다.
close 이벤트 객체의
type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
bubbles | false |
cancelable | false; 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 연결이 종료된 객체입니다. |
이벤트 객체 유형: flash.events.Event
Event.type property = flash.events.Event.CONNECT
| Player 버전 : | Flash Player 9 |
네트워크 연결이 설정되면 전달됩니다.
connect 이벤트 객체의
type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
bubbles | false |
cancelable | false; 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 네트워크 연결을 설정한 Socket 또는 XMLSocket 객체입니다. |
이벤트 객체 유형: flash.events.IOErrorEvent
IOErrorEvent.type property = flash.events.IOErrorEvent.IO_ERROR
| Player 버전 : | Flash Player 9 |
전송 또는 로드 작업의 실패를 유발하는 입력/출력 오류가 발생할 때 전달됩니다.
ioError 이벤트 객체의
type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
bubbles | false |
cancelable | false; 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 입력/출력 오류가 발생한 네트워크 객체입니다. |
text | 오류 메시지로 표시될 텍스트입니다. |
이벤트 객체 유형: flash.events.SecurityErrorEvent
SecurityErrorEvent.type property = flash.events.SecurityErrorEvent.SECURITY_ERROR
| Player 버전 : | Flash Player 9 |
Socket.connect() 호출로 호출자의 보안 샌드박스 외부에 있는 서버 또는 1024 미만인 포트에 대한 연결을 시도하면 전달됩니다.
SecurityErrorEvent.SECURITY_ERROR 상수는
securityError 이벤트 객체의
type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
bubbles | false |
cancelable | false; 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 보안 오류를 보고하는 네트워크 객체입니다. |
text | 오류 메시지로 표시될 텍스트입니다. |
참고 사항
이벤트 객체 유형: flash.events.ProgressEvent
ProgressEvent.type property = flash.events.ProgressEvent.SOCKET_DATA
| Player 버전 : | Flash Player 9 |
소켓이 데이터를 수신하면 전달됩니다. socketData 유형의 이벤트는 ProgressEvent.bytesTotal 속성을 사용하지 않습니다.
socketData 이벤트 객체의
type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
bubbles | false |
cancelable | false; 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 현재 이벤트를 처리하고 있는 객체입니다. |
bytesLoaded | 리스너가 이벤트를 처리할 때 로드된 항목 수 또는 바이트 수입니다. |
bytesTotal | 0: 이 속성은 socketData 이벤트 객체에서 사용되지 않습니다. |
target | 진행률을 보고하는 Socket 객체입니다. |
다음 예제에서는 소켓에서 읽고 쓰며, 소켓 이벤트 중에 전송된 정보를 출력합니다. 이 예제에서 중요한 부분은 다음과 같습니다.
- 생성자는
socket이라는 CustomSocket 인스턴스를 만들고 호스트 이름 localhost와 포트 80을 인수로 전달합니다. CustomSocket은 Socket을 확장하므로 super()를 호출하면 호스트 이름 localhost와 포트 번호 80으로 Socket 생성자가 호출됩니다.
- 그런 다음
configureListeners() 메서드를 호출하며, 이 메서드는 Socket 이벤트에 대해 리스너를 추가합니다.
참고: 이 예제를 실행하려면 서버가 SWF와 같은 도메인(여기서는 localhost)에서 실행 중이고 포트 80에서 수신 중이어야 합니다.
package {
import flash.display.Sprite;
public class SocketExample extends Sprite {
public function SocketExample() {
var socket:CustomSocket = new CustomSocket("localhost", 80);
}
}
}
import flash.errors.*;
import flash.events.*;
import flash.net.Socket;
class CustomSocket extends Socket {
private var response:String;
public function CustomSocket(host:String = null, port:uint = 0) {
super(host, port);
configureListeners();
}
private function configureListeners():void {
addEventListener(Event.CLOSE, closeHandler);
addEventListener(Event.CONNECT, connectHandler);
addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);
}
private function writeln(str:String):void {
str += "\n";
try {
writeUTFBytes(str);
}
catch(e:IOError) {
trace(e);
}
}
private function sendRequest():void {
trace("sendRequest");
response = "";
writeln("GET /");
flush();
}
private function readResponse():void {
var str:String = readUTFBytes(bytesAvailable);
response += str;
}
private function closeHandler(event:Event):void {
trace("closeHandler: " + event);
trace(response.toString());
}
private function connectHandler(event:Event):void {
trace("connectHandler: " + event);
sendRequest();
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function socketDataHandler(event:ProgressEvent):void {
trace("socketDataHandler: " + event);
readResponse();
}
}
© 2004-2007 Adobe Systems Incorporated. All rights reserved.
Tue Oct 16 2007, 12:25 AM GMT-07:00
현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/net/Socket.html