Paket | flash.net |
Sınıf | public class XMLSocket |
Miras Alma | XMLSocket EventDispatcher Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
- XML mesajları tam iki yönlü TCP/IP akış soket bağlantısı üzerinden gönderilir.
- Her XML mesajı, sıfır (0) baytıyla sonlandırılan tam bir XML belgesidir.
- Tek bir XMLSocket bağlantısı üzerinden sınırsız sayıda XML mesajı gönderilip alınabilir.
Bir sunucunun XMLSocket nesnesi ile iletişim kuracak şekilde ayarlanması zor olabilir. Uygulamanız gerçek zamanlı etkileşim gerektirmiyorsa, XMLSocket sınıfı yerine URLLoader sınıfını kullanın.
XMLSocket sınıfının yöntemlerini kullanmak için, bir XMLSocket nesnesi oluşturmak üzere ilk olarak new XMLSocket
yapıcısını kullanın.
Dosya sistemine sahip yerel sanal alandaki SWF dosyaları, soketleri kullanmayabilir.
Hedef ana bilgisayardaki soket ilke dosyaları, SWF dosyalarının soket bağlantıları yapabileceği ana bilgisayarları ve bu bağlantıların yapılabileceği bağlantı noktalarını belirtir. Soket güvenlik dosyasıyla ilgili güvenlik gereksinimleri, son birkaç Flash Player sürümünde daha sıkı hale gelmiştir. Tüm Flash Player sürümlerinde, Adobe bir soket ilke dosyasının kullanılmasını önerir; bazı durumlarda soket ilke dosyası gerekir. Bu nedenle, XMLSocket nesneleri kullanıyorsanız, hedef ana bilgisayarın gerektiğinde bir soket ilke dosyası sağladığından emin olun.
Aşağıdaki listede, farklı Flash Player sürümlerindeki soket ilke dosyası gereksinimleri özetlenmektedir:
- Flash Player 9.0.124.0 ve sonraki sürümlerde, herhangi bir XMLSocket bağlantısı için soket ilke dosyası gerekir. Başka bir deyişle, hangi bağlantı noktasına bağlanırsanız bağlanın, hedef ana bilgisayarda bir soket ilke dosyası gerekir ve hatta SWF dosyasını sunan aynı ana bilgisayardaki bir bağlantı noktasına bağlandığınızda da bu dosya gerekir.
- Flash Player 9.0.115.0 ve önceki sürümlerde, 1024'ten düşük bir bağlantı noktası numarasına bağlanmak istiyorsanız veya SWF dosyasını sunan ana bilgisayardan başka bir ana bilgisayara bağlanmak istiyorsanız, hedef ana bilgisayarda bir soket ilke dosyası gerekir.
- Flash Player 9.0.115.0'da, soket ilke dosyası gerekmese de, hedef ana bilgisayar bir soket ilke dosyası sunmuyorsa, Flash Debug Player kullanılırken bir uyarı görüntülenir.
Ancak Adobe AIR'de, application
güvenlik sanal alanındaki içerik (AIR uygulamasıyla yüklenen içerik) bu güvenlik sınırlamalarıyla kısıtlanmaz.
Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
connected : Boolean [salt okunur]
Bu XMLSocket nesnesinin halen bağlı mı olduğunu gösterir. | XMLSocket | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
timeout : int
Bağlantı için beklenilecek milisaniye sayısını belirtir. | XMLSocket |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Yeni bir XMLSocket nesnesi oluşturur. | XMLSocket | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. | EventDispatcher | ||
XMLSocket nesnesi tarafından belirtilen bağlantıyı kapatır. | XMLSocket | ||
Belirtilen İnternet ana bilgisayarına, belirtilen TCP bağlantı noktasını kullanarak bağlantı kurar. | XMLSocket | ||
Olay akışına bir olay gönderir. | EventDispatcher | ||
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. | EventDispatcher | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | ||
object parametresinde belirtilen XML nesnesini veya verilerini bir dizeye dönüştürür ve bu öğeyi, ardına sıfır (0) baytı ekleyerek bir sunucuya iletir. | XMLSocket | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object | ||
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder. | EventDispatcher |
Olay | Özet | Tanımlayan: | ||
---|---|---|---|---|
[broadcast olayı] Flash Player veya AIR uygulaması işletim sistemi odağına gelip etkin olduğunda gönderilir. | EventDispatcher | |||
Sunucu, soket bağlantısını kapattığında gönderilir. | XMLSocket | |||
XMLSocket.connect() yöntemine yapılan başarılı bir çağrıdan sonra gönderilir. | XMLSocket | |||
Ham veriler gönderildikten veya alındıktan sonra gönderilir. | XMLSocket | |||
[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir. | EventDispatcher | |||
Bir gönderme veya alma işleminin başarısız olmasına neden olan bir girdi/çıktı hatası ortaya çıktığında gönderilir. | XMLSocket | |||
XMLSocket.connect() yöntemine yapılan çağrı, çağıranın güvenlik sanal alanının dışındaki bir sunucuya veya 1024'ten daha düşük bir bağlantı numarasına bağlanmaya çalıştığında gönderilir. | XMLSocket |
connected | özellik |
connected:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bu XMLSocket nesnesinin halen bağlı olup olmadığını gösterir. Ayrıca connect
olayı ve ioError
olayı için kaydolarak bağlantının başarılı olup olmadığını kontrol edebilirsiniz.
Uygulama
public function get connected():Boolean
İlgili API Öğeleri
timeout | özellik |
timeout:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Bağlantı için beklenilecek milisaniye sayısını belirtir.
Belirtilen süre içinde bağlantı başarılı olmazsa, bağlantı gerçekleşmez. Varsayılan değer 20.000'dir (yirmi saniye).
Uygulama
public function get timeout():int
public function set timeout(value:int):void
XMLSocket | () | Yapıcı |
public function XMLSocket(host:String = null, port:int = 0)
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Yeni bir XMLSocket nesnesi oluşturur. Hiçbir parametre belirtilmemişse, belirtilen bir ana bilgisayara veya bağlantı noktasına bir bağlantı yapılmaya çalışılır. Parametreler belirtilmişse, belirtilen ana bilgisayara ve bağlantı noktasına bir bağlantı yapılmaya çalışılır.
Not: Parametreler olmadan yapıcı formunu kullanmanız, daha sonra olay dinleyicilerini eklemeniz ve ardından host
ve port
parametreleriyle connect
yöntemini çağırmanız kesinlikle önerilir. Böylece tüm olay dinleyicilerinin düzgün şekilde çalışması güvence altına alınır.
host:String (default = null ) — Tam nitelikli bir DNS etki alanı adı veya .222.333.444 biçiminde bir IP adresi. Flash Player 9.0.115.0 ve AIR 1.0 ve sonrasında, rtmp://[2001:db8:ccc3:ffff:0:444d:555e:666f] gibi IPv6 adresleri belirtebilirsiniz. Ayrıca, SWF dosyasının bulunduğu ana bilgisayar sunucusuna bağlanmak için null değerini belirtebilirsiniz. Bu çağrıyı başlatan SWF dosyası bir web tarayıcısında çalışıyorsa, host öğesi, SWF dosyasıyla aynı etki alanında olmalıdır.
| |
port:int (default = 0 ) — Bir bağlantı kurmak için kullanılan, hedef ana bilgisayar üzerindeki TCP bağlantı noktası numarası. Flash Player 9.0.124.0 veya sonraki sürümlerde, hedef ana bilgisayar, SWF dosyası sunan ana bilgisayardan belirtilen bağlantı noktasına soket bağlantılarına izin verildiğini belirten bir soket ilke dosyası sunmalıdır. Önceki Flash Player sürümlerinde, yalnızca 1024'ten düşük bir bağlantı noktası numarasına bağlanmak istediğinizde veya SWF dosyasını sağlayan ana bilgisayardan farklı bir ana bilgisayara bağlanmak istediğinizde bir soket ilke dosyası gerekir.
|
İlgili API Öğeleri
close | () | yöntem |
public function close():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
XMLSocket nesnesi tarafından belirtilen bağlantıyı kapatır. close
olayı yalnızca sunucu bağlantıyı kapattığında gönderilir; close()
yöntemini çağırdığınızda gönderilmez.
İlgili API Öğeleri
connect | () | yöntem |
public function connect(host:String, port:int):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen İnternet ana bilgisayarına, belirtilen TCP bağlantı noktasını kullanarak bağlantı kurar.
host
parametresi için null
değerini belirtirseniz, temas kurulan ana bilgisayar, XMLSocket.connect()
öğesini çağıran dosyasının bulunduğu ana bilgisayardır. Örneğin, çağıran dosya www.adobe.com adresinden indirildiyse, host parametresi için null
değerinin belirtilmesi, www.adobe.com adresine bağlandığınızı gösterir.
SWF içeriğini kapsayan HTML sayfasındaki object
ve embed
etiketlerinin allowNetworking
parametresini ayarlayarak bir SWF dosyasının bu yöntemi kullanmasını önleyebilirsiniz.
Daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.
Parametreler
host:String — Tam nitelikli bir DNS etki alanı adı veya 111.222.333.444 biçiminde bir IP adresi. Ayrıca, SWF dosyasının bulunduğu ana bilgisayar sunucusuna bağlanmak için null değerini belirtebilirsiniz. Çağıran SWF dosyası bir web tarayıcısında çalışıyorsa, host öğesi, SWF dosyasıyla aynı etki alanında olmalıdır.
| |
port:int — Bir bağlantı kurmak için kullanılan, hedef ana bilgisayar üzerindeki TCP bağlantı noktası numarası. Flash Player 9.0.124.0 veya sonraki sürümlerde, hedef ana bilgisayar, SWF dosyası sunan ana bilgisayardan belirtilen bağlantı noktasına soket bağlantılarına izin verildiğini belirten bir soket ilke dosyası sunmalıdır. Önceki Flash Player sürümlerinde, yalnızca 1024'ten düşük bir bağlantı noktası numarasına bağlanmak istediğinizde veya SWF dosyasını sağlayan ana bilgisayardan farklı bir ana bilgisayara bağlanmak istediğinizde bir soket ilke dosyası gerekir.
|
Olaylar
securityError: — Çağıranın güvenlik sanal alanı dışında bir ana bilgisayara veya soket ilke dosyası gerektiren bir bağlantı noktasına bağlanma girişiminde bulunulmuştur. Hedef ana bilgisayarda bir soket ilke dosyası kullanarak soruna çözüm bulun.
| |
data: — Ham veriler alındığında gönderilir.
| |
connect: — Ağ bağlantısı kurulduğunda gönderilir.
|
Atar
SecurityError — Güvenilmeyen yerel dosyalar İnternet ile iletişim kuramayabilir. Bu dosyayı ağa sahip yerel veya güvenilir olarak yeniden sınıflandırarak bu sınırlamaya çözüm bulabilirsiniz.
| |
SecurityError — 65535'ten daha büyük bir soket bağlantı noktası numarası belirtemezsiniz.
|
İlgili API Öğeleri
send | () | yöntem |
public function send(object:*):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
object
parametresinde belirtilen XML nesnesini veya verilerini bir dizeye dönüştürür ve bu öğeyi, ardına sıfır (0) baytı ekleyerek bir sunucuya gönderir. object
öğesi bir XML nesnesiyse, dize XML nesnesinin XML metin temsilidir. Gönderme işlemi eşzamanlı değildir; hemen döndürülür ancak veriler daha sonra iletilebilir. XMLSocket.send()
yöntemi, verilerin başarıyla iletilip iletilmediğini gösteren bir değer döndürmez.
XMLSocket nesnesini, XMLSocket.connect()
) öğesini kullanarak sunucuya bağlamazsanız, XMLSocket.send()
işlemi başarısız olur.
Parametreler
object:* — Sunucuya iletilecek bir XML nesnesi veya diğer veriler.
|
Atar
IOError — XMLSocket nesnesi sunucuya bağlanmaz.
|
İlgili API Öğeleri
close | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.CLOSE
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Sunucu, soket bağlantısını kapattığında gönderilir. close
olayı yalnızca sunucu bağlantıyı kapattığında gönderilir; XMLSocket.close()
yöntemini çağırdığınızda gönderilmez.
Event.CLOSE
sabiti, close
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Bağlantısı kapatılan nesne. |
connect | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.CONNECT
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
XMLSocket.connect()
yöntemine yapılan başarılı bir çağrıdan sonra gönderilir.
Event.CONNECT
sabiti, connect
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Ağ bağlantısı kuran Socket veya XMLSocket nesnesi. |
data | Olay |
flash.events.DataEvent
özellik DataEvent.type =
flash.events.DataEvent.DATA
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ham veriler gönderildikten veya alındıktan sonra gönderilir.
data
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
data | Flash Player veya Adobe AIR'e yüklenen ham veriler. |
target | Verileri alan XMLSocket nesnesi. |
ioError | Olay |
flash.events.IOErrorEvent
özellik IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir gönderme veya alma işleminin başarısız olmasına neden olan bir girdi/çıktı hatası ortaya çıktığında gönderilir.
ioError
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
errorID | Belirli bir hata mesajıyla ilişkili başvuru numarası (yalnızca AIR). |
target | Girdi/çıktı hatası yaşayan network nesnesi. |
text | Hata mesajı olarak gösterilecek metin. |
securityError | Olay |
flash.events.SecurityErrorEvent
özellik SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
XMLSocket.connect()
yöntemine yapılan çağrı, çağıranın güvenlik sanal alanının dışındaki bir sunucuya veya 1024'ten daha düşük bir bağlantı numarasına bağlanmaya çalıştığında gönderilir.
SecurityErrorEvent.SECURITY_ERROR
sabiti, securityError
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Güvenlik hatasını bildiren network nesnesi. |
text | Hata mesajı olarak gösterilecek metin. |
İlgili API Öğeleri
- XMLSocketExample yapıcısı
socket
adlı bir XMLSocket örneği oluşturur vesocket
öğesiniConfigureListeners()
öğesine ilettikten sonra (aşağıda açıklanmıştır) "localhost" ana bilgisayar adını ve8080
bağlantı noktası numarasını kullanarak XMLSocket öğesininconnect()
yöntemini çağırır. - Daha sonra
configureListeners()
yöntemi çağrılır ve desteklenen XMLSocket olaylarının her birine dinleyiciler ekler:closeHandler()
: ağ bağlantısı kapatıldıktan sonra gönderilenclose
olayını dinler.connectHandler()
: ağ bağlantısı kurulduğunda gönderilenconnect
olayını dinler.dataHandler()
: XMLSocket öğesi yeni verileri her aldığında gönderilendata
olaylarını dinler.progressHandler()
:send()
öğesine bir çağrı yapıldığında ve gönderme işlemi devam ederken gönderilenprogress
olaylarını dinler.securityErrorHandler()
: XMLSocket öğesine yanlış oynatma güvenlik ayarıyla veya 1024'ten düşük bir bağlantı noktası kullanılarak erişmek için bir deneme yapıldığında gönderilensecurityError
olaylarını dinler.ioErrorHandler()
: bir veri gönderme veya alma işlemi başarısız olduğunda meydana gelenioError
olaylarını dinler.
Notlar:
- SWF dosyasını “Yerel oynatma güvenliği“ ayarı “Yalnızca ağa erişim“ olacak şekilde derlemeniz gerekir.
- Bu örneğin çalışması için etki alanınız üzerinde 8080 bağlantı noktasını kullanarak çalışan bir sunucuya ihtiyacınız vardır.
- Flash Player 9.0.124.0 veya sonraki bir sürümü çalıştırıyorsanız, etki alanınızdan bağlantı noktası 8080'e soket bağlantısına izin veren bir soket ilke dosyasını sunucunuza yerleştirmeniz gerekir. Soket ilke dosyaları sunma hakkında bilgi için bkz. Flash Player Developer Center Konusu: Soket ilke dosyası sunucusu kurma.
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); if (hostName && port) { 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); } } }
Tue Jun 12 2018, 01:09 PM Z