Bir flash istemci ugulamasının Red5 uygulaması ile iletişiminde rtmp protokolü kullanılıyor. Red5 rtmp ve http hizmetini öntanımlı olarak şu portlardan verir :
http : 5080
rtmp : 1935
rtmpt : 8088 (Tunneled Rtmp). 1935 portunun kapalı olduğu ve 80(http) portundan erişime izin verildiği durumlarda, http portu üzerinden rtmp hizmeti vermek için kullanılır.
rtmps : 8443(Secure Rtmp) Bu tür rtmp protokolünde, veriler https üzerinden şifrelenerek gönderilir.
Not : Red5 rtmps'i 8443'ten sunuyor ancak flash öntanımlı olarak 443'ten rtmps'yi deniyor. Bunun için, ya red5 tarafında rtmps portu $red5-home/conf/red.properties içerisinde 443 olarak değiştirilmeli ya da flash tarafında bağlantı URL'sine rtmps için kullanılacak olan port 8443 olarak belirtilmelidir.
17 Mart 2010 Çarşamba
Red5 Rtmp Portları
28 Şubat 2010 Pazar
Red5 Uygulamaları İçin Birkaç İpucu
1-) Shared Object Servisini kullanma
Temel Application sınıfı(ApplicationAdapter sınıfından türetilmiş) dışında, herhangi bir sınıf gerçekleştiriminde SharedObject işlemi yapabilmek için Shared Object servisinin kullanımı şu şekildedir :
Application sınıfında direk olarak çağırılabilien getSharedObject metodu başka bir sınıfta
ISharedObjectService service = (ISharedObjectService) ScopeUtils
.getScopeService(scope,
ISharedObjectService.class,
false);
service.getSharedObject(...);
şeklinde kullanılabilir
2-) red5-web.xml içerisinde tanımlı bir bean'i herhangi bir sınıf içerisinde kullanma
singleton="true" />
şeklindeki bir bean, başka bir sınıf tanımı içerisinde şu şekilde kullanılabilir :
IScope scope = Red5.getConnectionLocal().getScope();
SampleClass sc= (SampleClass)scope.getContext().getBean("myBean");
3-) Shared Object sendMessage kullanımı
Mevcut bir shared object için, Sunucu Tarafından(Red5) istemci tarafındaki bir methoda(openlaszlo, flex vs..) parametre şu şekilde gönderilebilir :
Red5
---------
ISharedObject sharedObject= this.getSharedObject(scope, "mySharedObject");
List list= new Arraylist();
sharedObject.sendMessage("clientMethod",list);
Openlaszlo
---------------
Debug.write("param %w Red5'ten geliyor",param);
27 Ocak 2010 Çarşamba
mysql hatası : com.mysql.jdbc.CommunicationsException: Communications link failure
veritabanı işlemi yaparken :
com.mysql.jdbc.CommunicationsException: Communications link failure şeklinde bir hata alıyor isek
Yapmamız gereken :
- /etc/mysql/my.cnf i.dosyasında skip-networking satırını #skip-networking şeklinde comment edilmeli
26 Aralık 2009 Cumartesi
Temel bir Red5 Uygulaması Sınıf ve Methodları
Bu girdide basit bir red5 uygulamasının Application isimli sınıfında ne gibi sınıflar, arayüzler ve methodlar kullanılabileceğinden bahsedeceğim.
İlk olarak söylenilecek şey : herbir red5 uygulaması ApplicationAdapter isimli sınıftan türetilir.
Red5
-------
Sınıflar - Arayüzler
====================
IConnection -> Uygulamaya bağlanan herbir istemcinin sahip olduğu bağlantıdır. Red5 uygulamasının birden fazla bağlantısı olabilir. Aynı zamanda istemcilerin de birden fazla rtmp, soap, wsdl vs. bağlantısı olabilir.
IScope -> IConnection nesnesi üzerinde yer alan faaliyet alanlarıdır. Red5 üzerindeki herbir odayı IScope nesnesi olarak düşünebiliriz.
ISharedObject-> Sunucuda oluşturulan ve istemcilerden bağlanılan, uygulamaya ve bu shared obect'e bağlanan tüm istemciler tarafından ortak olarak kullanılan nesnedir.
ISharedObjectListener -> Shared object üzerinde yapılan işlemleri dinlemek için kullanılan interface'dir.
Metotlar
=============
appStart (IScope scope) -> Red5 uygulaması başlatıldığında ilk olarak çağrılacak methodtur.
appStop (IScope scope) -> Red5 uygulaması kapatıldığı zaman çağrılacak olan methodtur.
connect (IConnection conn, IScope scope, Object []params) -> Herhangi bir istemcinin ilgili Red5 uygulamasına bağlandığı zaman çağırılacak olan methodtur. Shared object'lerin yaratılması ya da istemcinin bilgilerinin alınması gibi işlemler bu method içerisinde yapılır.
disconnect (IConnection conn, IScope scope) -> İstemcilerin uygulamadan bağlantıyı kestiği zaman çağırılacak olan methodtur.
Bir sonraki girdide ise basit bir red5 uygulamasında shared object nasıl yaratılır ve openlaszlo platformu tarafından bu shared object'e nasıl erişilip kullanılabileceği konulardan bahsedeceğim.
19 Aralık 2009 Cumartesi
Actionscript 2134 : Cannot create SharedObject. hatası
Openlaszlo platformunda lzx etiketleri dışında, script olarak da işlemler yapmak mümkün. Bu script işlemleride actionscript kodu yazabiliriz(elbette ilgili flash kütüphanesini uygulamamıza eklediğimiz taktirde). Örneğin var conn= new NetConnection(); gibi bir ifadeyi openlaszlo'da kullanabiliyoruz. Doğal olarak herhangi bir hata durumunda actionscript'e ait runtime error alabiliyorsunuz.
Actionscript 2134 : Cannot create SharedObject hatası genellikle NetConnection nesnesi olmadığında ya da flash sunucusuna henüz bağlanmadığı durumlarda shared object oluşturma sırasında fırlatılan bir hatadır.
Yapmamız gereken :
- NetConnection'a listener eklemek
- NetConnection.Connect.Success durumunda shared object'i oluşturmak. Ya da daha önceden tanımlanmış (mesela "allowCreate" gibi) bir özellik tanımlayıp, bu durum oluştuğunda değerini "true" yapmak. Daha sonra shared object oluşturmak istediğinde bu özelliğin değerlendirmesini yapıp ona göre shared object'i oluşturmak.
Bağlantılar :
Flash Runtime Errors
Flash Compiler Errors
Posted by
Cem Sönmez
zaman:
12/19/2009 03:17:00 ÖÖ
0
comments
Labels: 2134, flash, hata, openlaszlo, shared_object
4 Aralık 2009 Cuma
openlaszlo (view) november edition
openlaszlo platformu gelişticilerinin, o ay içerisinde ne gibi özellikleri platforma kazandırdığından ve neler yaptıklarından bahsettiği aylık bir pdf sayısı yayınlıyorlar. Takip etmekte fayda var.
İşte karşınızda
Kasım sayısı : http://openlaszlo.org/misc/OpenLaszloView113009.pdf
Ekim sayısı : http://openlaszlo.org/misc/OpenLaszloView103109.pdf
2 Aralık 2009 Çarşamba
derleme anında laszlo compilerın hafızasına harici sınıfları eklemesi
Openlaszlo derleme zamanında tüm lzx dosyalarındaki
Yapmamız gereken:
library.lzx gibi bir dosya oluşturup ve bu dosyanın içerisine tüm include'ları eklemeliyiz.
Posted by
Cem Sönmez
zaman:
12/02/2009 05:40:00 ÖS
0
comments
Labels: compiletime, include, openlaszlo
