Bumerang [UGT]

Başlatan egcodes, 02 Eylül 2011 - 18:34:00

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

egcodes

Proje Adresi : https://launchpad.net/bumerang

Bu proje karşılıklı iki bilgisayar arasında güvenli dosya paylaşımını sağlamak amacıyla geliştirildi.

Tabi bunun için çok daha gelişmiş ve güvenli programlar var fakat hem örnek teşkil etmesi hem de socket programlama çalışan kişilere yardımcı olması amacı ile yazıldı.

Ayrıca bu projeyi taban alarak başka internet tabanlı programlar yazmayı UGT ekibi olarak düşünüyoruz.

Herkese kolay gelsin.
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d

6ng4n

Sadece şahsi kanaatimdir sadece karşılıklı paylaşım için kullanılacaksa server ve client'i tek bir uygulamada birleştiriliebilir.

egcodes

Evet yapılabilir fakat şöyle birşey var. Client için kullanılabilecek bir programın içinde bilmem kaç saatır server kodu olması anlamsız. Yada tam tersi.

Onun için nasıl bir çözüm geliştirilebilir fikirlere açığım bekliyorum.
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d

6ng4n

şöyle diyelim o zaman server içine client gelebilir. bir de küçük bir şey daha dosya yazılma yeri getenv("HOME") ile alınsa hoş olabilir.

egcodes

:D home kısmı öyle olacaktı zaten unutmuşum onu :D server-client için birşeyler düşünecem artık.
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d

sem

Aa açmışsın genele =) Hayırlı olsun...

Ben XO oyunu için şşöyle düşüdüm... En basiti şu oluyor sanırım, pratikte denemedim ama;

Bir tane ana process var. Bu processten bir thread bir de alt process açıyoruz... Alt process açarken isimsiz pipe bildiriyoruz. Thread blokeli olarak isimsiz pipe'ı dinlyior. Al process ise blokesiz olarak client soketi, server soketi ve pipe'ı dinliyor. Aynı zamanda bunları hem okuyor hem yazıyor... Gerçi bu uygulamada yapılacak olan belli olduğu için daha kolay da olabilir. Fakat XO oyunu için bu şekilde olması gerekiyordu sanırım minimum...

Bu saatte düşünemedim şimdi... =)

Bu arada bu yapı sayesinde bir den fazla client'a da cevap vermiş oluyoruz. Güzel oluyor ama daha gerçeklemek için fırsatım olmadı...

@egcodes içeri ksımda bir şeyler paylaşmıştım ortak RAM kullanımı gibi belki görmüşsündür... O kadar karmaşık halde deneyecektim aslındafakat o kadar karışık olunca hepten zorlaşıyor... Çünkü aynı RAM'den okumak için sinyal mekanizması düşünmüştüm, okuyan ya da yazan (belleğe) dierine sinyalle haber verecekti ama; thread girince, iş içinden çıkılmaz bir hal aldı... Sonra bu ufak tasarım geldi aklıma ama daha gerçekleyemedim dediğim gibi...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

egcodes

Bunun için genel çözüm nedir diye bakacam ona göre dizayn edecem artık. Daha araştırmadım :)
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d

egcodes

#7
bumerang projesinde tüm kodu baştan değiştirdim yeni bir şekil verdim kullanımı argümanlı yaptım.

Şu an hem linux hem de windows'da çalışıyor.

https://launchpad.net/bumerang -> adresinden tar.gz olarak indirip make, make install komutuyla kurabilirsiniz.

Kullanımı örneği
[1. bilgisayar]

$ bumerang -s -p 3424 -l dosya.txt
* Trying to connection...
* Connection successfull...
* Waiting the client...
* [dosya.txt] file is being sent...(Size: 6637 Kb)

* File sent...====================================>(%100)


[2. bilgisayar]

$ bumerang -g 192.168.1.4 -p 3424
* Trying to connection...
* Connection successfull...
* Waiting the file...
* [dosya.txt] retrieving ... (Size: 6637 Kb)

* File downloaded...==============================>(%100)


Kolay gelsin herkese.
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d