XMLSocket Uygulamaları oluşturmak (AS2)
Erdinç BARUT Tarih: 1/09/2008 Yorum: 3 adet
Okunma : 1571 Tutanlar: Bu yazıyı 3 kişi tuttu.
Merhabalar
Eğer sizde siteniz için bir Flash oyun yapmak veya anlık veri alıp/gönderme işine ihtiyaç duyuyor iseniz XMLSocket sizin işinizi fazlasıyla görecektir.
Önceki flash versiyonlarında anlık veri alıp gönderme sadece LoadVariables ten ibaretti. LoadVariables sadece php,asp yada txt dosyalarındaki verileri okumaya yarıyordu fakat anlık kesintisiz veri aktarımı için yetersizdi. Herhangi bir istek yaptıgınızda verinin gelip gelmediğini anlamanız için ayrı bir fonksiyon yazmanız gerekiyordu. O zamanın Macromediası çözüm olarak XMLSocketi flashplayer 5 e dahil etti. Bu sayede FlashPlayer ile anlık veri transferi yapmak mümkün oldu.
XMLSocket sunucudaki calısan bir programa(porta) TCP protokolü ile baglanıp kesintisiz veri aktarımı yapabilir(sınırsız alır/gönderir). Temel çıkış amacı adındanda anlaşılacağı gibi XML verilerini alıp okutmaktır fakat baska uygulamalar olusturmaya izin verir.
Şimdilik sadece yüzeysel anlatım yapacağım ileride zamanım olursa elimden geldiğince bilgilerimi sizle paylaşacağım.
Aşağıdaki kod örneği belirtilen adrese bağlanıp gelen verileri size gösterecektir.
var Soket:XMLSocket = new XMLSocket();
Soket.onConnect = function(baglandi) {
if (!baglandi) {
trace("Baglanti basarisiz!");
}
};
Soket.onData = function(gelenVeri) {
trace("Alınan veri:"+gelenVeri.toString());
};
if (Soket.connect("flashokey.com", 1690)) {
trace("Baglandı");
trace("Test komutu gönderildi");
Soket.send("TEST KOMUTU");
} else {
trace("Baglanamadı");
}
Soket.onClose = function() {
trace("Bağlantı kesildi");
};
Tabi bu işin sadece istemci kısmı,sunucuda sizin uygulamanız belirtilen portu dinlemede olmalı ve o porta gelen verileri irdeleyip ona göre istemciye cevap vermeli. XMLSocketin bazı sınırlamaları bulunmaktadır.
1. Flash player 9 ile birlikte gelen güvenlik değişikliğinde istemcinin(flash moviemizin) sunucuya baglanması için sunucudan izin alması gerekmektedir. Ayrıntılı bilgi için http://www.adobe.com/devnet/flashplayer/articles/fplayer9security04.html bu adrese bakabilirsiniz.
2. Sunucudaki dinlemede olan port numarası 1024 den büyük olmalıdır aksi halde soket sunucuya bağlanamaz.
3. Sunucudan gelen her veri paketinin sonunda Zero Byte yani Chr(0) karakteri olmalıdır.Bunun nedeni veri geldikten sonra Zero Byte karakteri ile istemcinin paketin geldiğini anlayıp işleme koymasıdır. Bu nedenle XMLSocket tüm sunucu protokollerine bağlanamaz. ZeroByte karakteri Delphi bileşenleri için CHR(10) olabilmektedir.
Gelen verileri komutlara bölerek gelen verileri anlamlı hale getirebilirsiniz. Örneğin komutlarımızın paket ayıracı "X" karakteri olsun.
Soket.onData = function(gelenVeri) {
trace("Alınan veri:"+gelenVeri.toString());
var KomutDizisi = gelenVeri.split("X");
var KomutIsmi = KomutDizisi[0];
var parametre = KomutDizisi[1];
switch (KomutIsmi) {
case "A" :
trace("A komutu geldi Parametre:"+parametre);
break;
case "B" :
trace("B komutu geldi Parametre:"+parametre);
break;
}
};
Kendinize ait Flash istemcili ve istediğiniz herhangi bir dille kendi sunucu yazılımınızı oluşturmanızın en temel ve basit yolu XMLSocket ile bu şekilde mümkündür. Gerisi tamamen sizin gelen verileri komutlara bölüp istediğiniz gibi yönlendimenize bakmaktadır.
Kolay Gelsin!
peki bunu bir swf haline getirip irc sunucusuna baglanması saglanabilirmi ve bu sfw de bir queryString gelen dataları bir javascript fonksiyonuna giden datalarıda server'a gönderebilirmi.
evet as ile istediginiz yere istediginiz türden veri göndermeniz mumkun buna irc sunucularıda dahil LeblebiStudio kursat_000@hotmail.com
Makale
İlişkili makale bulunamadı.
Haber
İlişkili haber bulunamadı.
Ders
İlişkili ders bulunamadı.
Etkinlikler
Toplantı
Özgür Yazılım ve Linux Günleri '10
Özgür Yazılım ve Linux Günleri '10
İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü ve Linux Kullanıcıları Derneği'nin 9 yıldır düzenlemekte oldukları etkinlikler bu yıl `Özgür Y...
Kategori:
Toplantı
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 62 (50 kayıtlı, 12 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Blog Bölümü Blogevi.com'a Taşınıyor
Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...
7.500'üncü üyemiz Cem Koç!
Neler Yapılabilir?
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)










çok iyi düşünmüşsünüz. xml socket dersleri lazımdı yanlız bunun as3 ü de olsa çok iyi. özellikle chat yapımlarında xml socket bayağı bir lazım :)