| Package | flash.net |
| Class | public class XMLSocket |
| Inheritance | XMLSocket EventDispatcher Object |
XMLSocket.connect() Methods를 접속할 수 있는 TCP 포토의 번호는, 1024 이상입니다. 이 제한에 의해, XMLSocket object와 통신하는 서버 demon에게도, 1024 이상의 포토 번호를 할당할 필요가 있습니다. 1024 미만의 포토 번호는, FTP, Telnet, HTTP 등의 시스템 서비스에 의해 사용되는 것이 많기 때문에, XMLSocket object는 시큐러티상의 이유로부터 이러한 포토에 액세스 할 수 없습니다. 포토 번호의 제한에 의해, 이러한 리소스가 부적절하게 액세스 및 남용될 가능성이 적게 됩니다.
XMLSocket object와 통신하도록(듯이) 서버를 설정하면, 문제가 발생할 가능성이 있습니다. 어플리케이션이 리얼타임의 인터랙티브 기능을 필요로 하지 않는 경우는, XMLSocket 클래스 대신에, URLLoader 클래스를 사용합니다. XMLSocket 클래스의 Methods를 사용하려면 , 우선 new XMLSocket constructor 을 사용해 XMLSocket object를 작성할 필요가 있습니다.
이 클래스를 사용할 때는, Flash Player 시큐러티 모델을 고려해 주세요.
상세한 것에 대하여는, 다음의 주제를 참조해 주세요.
See also
| property | 정의 | ||
|---|---|---|---|
| connected : Boolean
[read-only]
이 XMLSocket object가 현재, 접속되고 있는지 어떤지를 나타냅니다.
| XMLSocket | ||
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| Methods | 정의 | ||
|---|---|---|---|
| XMLSocket (host:String = null, port:int = 0)
새로운 XMLSocket object를 작성합니다.
| XMLSocket | ||
![]() | addEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
| EventDispatcher | |
| close ():void
XMLSocket object로 지정된 접속을 닫습니다.
| XMLSocket | ||
| connect (host:String , port:int ):void
지정된 TCP 포토를 사용해 지정된 인터넷 호스트에의 접속을 확립합니다.
| XMLSocket | ||
![]() | 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 (object:* ):void
object Parameters로 지정된 XML object 또는 데이터를 string로 변환해, 그 뒤로 제로 (0) 바이트를 부가해 서버에 전송 합니다. | XMLSocket | ||
![]() | 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 | |
| 이벤트 | 일람 | 정의 | ||
|---|---|---|---|---|
| close | 서버에 의해 소켓 접속이 닫혀졌을 때에 dispatch됩니다. | XMLSocket | ||
| connect |
XMLSocket.connect() Methods의 호출이 성공한 후에 dispatch됩니다. | XMLSocket | ||
| data | 미처리의 데이터가 송수신 된 후에 dispatch됩니다. | XMLSocket | ||
| ioError | 입출력 에러가 발생해 송신 또는 수신 조작이 실패했을 때에 dispatch됩니다. | XMLSocket | ||
| securityError |
XMLSocket.connect() Methods의 호출에 의해, 호출원의 시큐러티 샌드 박스의 밖에 있는 서버나 1024 미만의 포토 번호에 대해서 접속하려고 했을 때에 dispatch됩니다. | XMLSocket | ||
| connected | property |
connected:Boolean [read-only]
이 XMLSocket object가 현재, 접속되고 있는지 어떤지를 나타냅니다. connect 이벤트와 ioError 이벤트에 대해서 등록을 실시해, 접속이 성공했는지 어떠했는지를 조사할 수도 있습니다.
public function get connected():Boolean
See also
| XMLSocket | () | constructor |
public 함수 XMLSocket(host:String = null, port:int = 0)
새로운 XMLSocket object를 작성합니다. 초기 상태에서는, XMLSocket object는 서버에 접속되지 않습니다. object를 서버에 접속하려면 ,XMLSocket.connect() Methods를 호출할 필요가 있습니다.
host:String (default = null) — FQDN (완전 수식 도메인명), 즉 aaa.bbb.ccc.ddd 라고 하는 형식의 IP 주소입니다. null 를 지정해, SWF 파일이 존재하는 호스트 서버에 접속할 수도 있습니다. 호출원의 SWF 파일이 Web 브라우저내에서 실행되고 있는 경우는,host 가 SWF 파일과 같은 도메인내에 존재할 필요가 있습니다.
|
|
port:int (default = 0) — 접속의 확립에 사용하는 호스트상의 TCP 포토 번호입니다. policy 파일을 사용하고 있는 경우를 제외해, 포토 번호는 1024 이상일 필요가 있습니다.
|
See also
| close | () | Methods |
public function close():void
XMLSocket object로 지정된 접속을 닫습니다. close 이벤트는, 서버에 의해 접속이 닫혀졌을 때에만 dispatch됩니다. close() Methods를 호출해도 dispatch되지 않습니다.
See also
| connect | () | Methods |
public function connect(host:String , port:int ):void 지정된 TCP 포토를 사용해 지정된 인터넷 호스트에의 접속을 확립합니다. 디폴트에서는, policy 파일을 사용하고 있지 않는 한, 번호가 1024 이상의 포토에게만 접속할 수 있습니다.
XMLSocket.connected property가 true 의 경우, 접속 프로세스의 초기 단계는 성공하고 있습니다. XMLSocket.connected property가 false 의 경우, 접속에 실패하고 있습니다.
host Parameters에 대해서 null 를 지정했을 경우는,XMLSocket.connect() 를 호출하는 SWF 파일이 존재하는 호스트에 접속합니다. 예를 들어, www.adobe.com 로부터 SWF 파일을 다운로드해, host Parameters에 null 를 지정했을 경우는, www.adobe.com 의 IP 주소를 입력했을 경우와 같은 결과가 됩니다.
Flash Player 7 보다 전의 버젼의 Player 로 SWF 파일을 실행하고 있는 경우,host 는, 호출원의 SWF 파일과 같은 super 도메인에 속하고 있을 필요가 있습니다. 예를 들어, www.adobe.com 에 놓여진 SWF 파일로부터는, store.adobe.com 에 있는 SWF 파일에 대해서 변수의 송수신을 실시할 수 있습니다. 이것은, 어느 쪽의 파일도 adobe.com 라고 하는 동일한 super 도메인에 속하기 (위해)때문에입니다.
Flash Player 7 이후에 SWF 파일을 실행하고 있는 경우,host 는 정확하게 같은 도메인에 놓여져 있을 필요가 있습니다. 예를 들어, www.adobe.com 에 있는 SWF 파일이 Flash Player 5 용으로 Publish 되고 있는 것에도 불구하고, Flash Player 7 이후에 실행되고 있는 경우는, 이 파일은과 같이 www.adobe.com 에 놓여져 있는 SWF 파일 에 대해서만, 변수의 송수신을 실시할 수 있습니다. 다른 도메인에 대해서 변수의 송수신을 실시하려면 , 액세스 하는 SWF 파일을 호스트 하는 서버상에,크로스 도메인 policy 파일을 배치합니다.
디폴트에서는,host 에 건네주는 값은 같은 도메인에 놓여져 있을 필요가 있어,port 에 건네주는 값은 1024 이상일 필요가 있습니다. 예를 들어, www.adobe.com 에 놓여져 있는 SWF 파일은, www.adobe.com 에 존재하는 SWF 파일로부터 밖에 변수를 송수신 할 수 없습니다. 접속하고 있는 SWF 파일이 놓여져 있는 호스트와는 다른 호스트상에 있는 소켓에 접속하는 경우, 또는 임의의 호스트로 포토 번호가 1024 보다 작은 포토에 접속하는 경우는, 접속하는 호스트로부터 xmlsocket: policy 파일을 취득할 필요가 있습니다. 상세한 것에 대하여는, 「ActionScript 3.0 의 프로그래밍」의 「Flash Player 시큐러티」의 장을 참조해 주세요.
host:String — FQDN (완전 수식 도메인명), 즉 aaa.bbb.ccc.ddd 라고 하는 형식의 IP 주소입니다. null 를 지정해, SWF 파일이 존재하는 호스트 서버에 접속할 수도 있습니다. 호출원의 SWF 파일이 Web 브라우저내에서 실행되고 있는 경우는,host 가 SWF 파일과 같은 도메인내에 존재할 필요가 있습니다.
|
|
port:int — 접속의 확립에 사용하는 호스트상의 TCP 포토 번호입니다. policy 파일을 사용하고 있는 경우를 제외해, 포토 번호는 1024 이상일 필요가 있습니다.
|
securityError:SecurityErrorEvent — 호출원의 시큐러티 샌드 박스외의 서버 또는 1024 보다 작은 포토에 접속하려고 한 접속 조작입니다. 어느 쪽의 문제도, 서버로 XMLSocket policy 파일을 사용하는 것으로 회피할 수 있습니다. |
|
data:DataEvent — 미처리의 데이터를 수신했을 때에 dispatch됩니다. |
|
connect:Event — 네트워크 접속이 확립되었을 때에 dispatch됩니다. |
SecurityError — 신뢰되어 있지 않은 로컬 SWF 는 인터넷에의 접속이 허가되지 않습니다. 이것은, 네트워크 액세스가 허가된 로컬 SWF 파일, 또는 신뢰할 수 있는 SWF 파일로서 재분류하면 회피할 수 있는 경우가 있습니다.
|
|
SecurityError — 65535 보다 큰 소켓 포토를 지정할 수 없습니다.
|
See also
| send | () | Methods |
public function send(object:* ):void
object Parameters로 지정된 XML object 또는 데이터를 string로 변환해, 그 뒤로 제로 (0) 바이트를 부가해 서버에 전송 합니다. object 가 XML object인 경우, string는 XML object의 XML 텍스트 표현입니다. 송신 조작은 비동기입니다. 즉, 전송 처리는 즉시 종료합니다만, 데이터가 전송 되는 것은, 그 다음에. XMLSocket.send() Methods는, 데이터가 정상적으로 전송 되었는지 어떠했는지를 나타내는 값을 돌려주지 않습니다.
XMLSocket.connect() 를 사용해, XMLSocket object를 서버에 접속하고 있지 않는 경우,XMLSocket.send() 조작은 실패합니다.
object:* — 서버에 전송 하는 XML object 또는 다른 데이터입니다.
|
IOError — XMLSocket object는 서버에 접속되지 않습니다.
|
See also
| close | event |
flash.events.Event
flash.events.Event.CLOSE
서버에 의해 소켓 접속이 닫혀졌을 때에 dispatch됩니다. close 이벤트는, 서버에 의해 접속이 닫혀졌을 때에만 dispatch됩니다. XMLSocket.close() Methods를 호출해도 dispatch되지 않습니다.
close event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 접속이 닫혀진 object입니다. |
| connect | event |
flash.events.Event
flash.events.Event.CONNECT
XMLSocket.connect() Methods의 호출이 성공한 후에 dispatch됩니다.
connect event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 네트워크 접속을 확립한 Socket object 또는 XMLSocket object입니다. |
| data | event |
flash.events.DataEvent
flash.events.DataEvent.DATA
미처리의 데이터가 송수신 된 후에 dispatch됩니다.
data event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
data | Flash Player 에 로드 되는 미처리의 데이터입니다. |
target | 데이터를 받는 XMLSocket object입니다. |
| ioError | event |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
입출력 에러가 발생해 송신 또는 수신 조작이 실패했을 때에 dispatch됩니다.
ioError event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 입출력 에러가 발생한 네트워크 object입니다. |
text | 에러 메세지로서 표시되는 텍스트입니다. |
| securityError | event |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
XMLSocket.connect() Methods의 호출에 의해, 호출원의 시큐러티 샌드 박스의 밖에 있는 서버나 1024 미만의 포토 번호에 대해서 접속하려고 했을 때에 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
socket 라고 하는 XMLSocket 인스턴스를 작성해,
다음에 나타내는 ConfigureListeners() 에 socket 를 건네주어,
XMLSocket 의 connect() Methods를, 호스트명 "localhost" 와 포토
번호 8080. configureListeners() Methods를 호출해,
지원(support)되는 각 XMLSocket 이벤트에 listener를 추가합니다. closeHandler() 는 close 이벤트를 릿슨 합니다. 이 이벤트는
네트워크 접속이 닫혀진 후에 dispatch됩니다. connectHandler() 는 connect 이벤트를 릿슨 합니다. 이 이벤트는
네트워크 접속이 확립되었을 때에 dispatch됩니다. dataHandler() 는 data 이벤트를 릿슨 합니다. 이 이벤트는
XMLSocket 가 새로운 데이터를 받을 때마다 dispatch됩니다. progressHandler() 는 progress 이벤트를 릿슨 합니다. 이 이벤트는
send() 가 불려 갔을 때, 송신중에 dispatch됩니다. securityErrorHandler() 는 securityError 이벤트를 릿슨 합니다. 이 이벤트는
잘못한 로컬에서의 재생에 관한 시큐러티 설정 또는 1024 보다 작은 포토를 사용해, XMLSocket 에 액세스 하려고 했을 때에
dispatch됩니다. ioErrorHandler() 는 ioError 이벤트를 릿슨 합니다. 이 이벤트는
데이터의 송신 또는 수신 조작에 실패하면 발생합니다. 메모 :
package {
import flash.display.Sprite;
import flash.events. *;
import flash.net.XMLSocket;
public class XMLSocketExample extends Sprite {
private var hostName:String = "localhost";
private var port:uint = 8080;
private var socket:XMLSocket;
public function XMLSocketExample() {
socket = new XMLSocket();
configureListeners(socket);
socket.connect(hostName, port);
}
public function send(data:Object) :void {
socket.send(data);
}
private function configureListeners(dispatcher:IEventDispatcher) :void {
dispatcher.addEventListener(Event.CLOSE, closeHandler);
dispatcher.addEventListener(Event.CONNECT, connectHandler);
dispatcher.addEventListener(DataEvent.DATA, dataHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
}
private function closeHandler(event:Event) :void {
trace("closeHandler: " + event);
}
private function connectHandler(event:Event) :void {
trace("connectHandler: " + event);
}
private function dataHandler(event:DataEvent) :void {
trace("dataHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent) :void {
trace("ioErrorHandler: " + event);
}
private function progressHandler(event:ProgressEvent) :void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent) :void {
trace("securityErrorHandler: " + event);
}
}
}
코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트
현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/net/XMLSocket.html