Server ve Client İşlemleri

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sonsukua
Üye
Mesajlar: 2
Kayıt: 12 Mar 2008 02:30

Server ve Client İşlemleri

Mesaj gönderen sonsukua »

İyi Günler;

Ben serverdan ona bağlı çalışan tüm pc lere aynı anda veri göndermek istiyorum. veri gelince clientlerde çalışan program bu veriyi işleyecek. Ancak serverdan tüm clientlere aynı anda nasıl veri gönderceğimi bilmiyorum. araştırdım ama bulamadım. indy client, ip worlks componentlerini falan denedim, sadece pc den pc ye bulabildim. yardımcı olursanız sevinirim.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Server ve Client İşlemleri

Mesaj gönderen ikra »

TServerSocket ve TClientSocket kullanarak, for döngüsü ile o an servere bagli olan tüm clientlere bilgi gönderebilirsin.

Kod: Tümünü seç

for i := 0 to pred(ServerSocket1.Connections.Count) do
  ServerSocket1.Connections[i].SendText('Bilgi');
ama sakat! eger ki, gönderecegin veri büyük olursa, umdugunu bulamazsin. büyük ver göndereceksen, stream'i arastirman gerek...
kolay gelsin...
kıdemsiz üye
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: Server ve Client İşlemleri

Mesaj gönderen unicorn64 »

client bilgisayarlar serverla aynı alt ağdaysa, internetten erişim söz konusu değilse, broadcast mesaj da gönderilebilir.
server udp olarak broadcast mesajı gönderir, mesaj o anda açık olan alt ağdaki tüm clientlere ulaşır zaten.
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
sonsukua
Üye
Mesajlar: 2
Kayıt: 12 Mar 2008 02:30

Re: Server ve Client İşlemleri

Mesaj gönderen sonsukua »

Cevap verdiğiniz için çok teşekkür ederim. Göndereceğim veri çok büyük olmayacak

cliente sırası ile
- Mesajın Tipi : Önemli - Normal
- Kısa Bilgi : Mesajla ilgili çok kısa bir yazı
- Dosya Yolu : açılacak olan dosyanın yolu (pdf,xls,doc,docx v.s.)

mesajları gelecek. ve ben bunları belirli bir formatta kullanıcı okuyana kadar karşısına getireceğim.

socketserverla programı yaptım gibi. ama mesajlar for döngüsü ile tek tek yollanacak. Pc sayısı 600' ün üzerinde. program kurulduktan sonra bu kadar çok pc kasar mı bilmiyorum. unicorn64 un dediği daha pratik gözüküyor ama şimdilik böyle bitireyim. daha sonra unicorn un mantığı ile yapmaya çalışırım.

iyi geceler....
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: Server ve Client İşlemleri

Mesaj gönderen unicorn64 »

yapıyı thread kullanarak tasarlarsanız bir sıkıntı olmaz sanırım, diğer türlü server nesnesinin send metodunda işlem nedir tam bilmiyorum, mesajın ağa gönderimi, en azından ağa düşene (yola çıkana) kadar bi bekleme yapıyorsa, pc kasmasa da kasmış gibi görünebilir...

tüm işlemler ayrı bir thread içinde de yapılabilir, bağlanan her client için bir thread de açılabilir..

gerçi server nesnesi bunu yapıyor da olabilir, hatırlayamadım şuan...

yada en azından programın tamamını yapmadan, hatta ayrı bir proje açarak, sadece server-client yapısını oluşturup manuel girdiğiniz mesajları bi göndermeyi deneyin. mümkünse 600 bilgisayarlık ortamda denettirin. uygulama orta yada büyük çaplı birşeyse,iş bitti derken geri dönüp sistemi düzenlemek zor olabilir....
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Server ve Client İşlemleri

Mesaj gönderen ikra »

abi udp ile gönderilsede, sonuc olarak her bir client'e veri gönderilmiyor mu?
yine bir sekilde bir döngüye girip mesaji broadcast etmesi gerekecek.

tcp ile udp arasindaki fark yalnizca, udp nin kontrolsüz tcp nin ise kontrollü calismasi degil mi?

-------
socketlere merakim fazla. ne kadar cok bilgi edinirsem o kadar sevinecegim : )
simdiden tesekkür ederim...
kıdemsiz üye
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: Server ve Client İşlemleri

Mesaj gönderen unicorn64 »

udp kelimesini broadcast mesajın udp olarak gönderildiğini belirtmek ve TServerSocket yerine udp componentiyle yapılması gerektiğini belirtmek için yazmıştım.

broadcast mesajda döngüye gerek yoktur, hangi cliente gönderileceği belirtilmez, aslında servera bağlı client de yoktur diyebiliriz.. ağa broadcast mesajı sadece 1 kez gönderirsiniz, mesaj ağda yola çıkar, alt ağ boyunca hatta ilerler, ulaştığı her cihaza iletilir, mesajı alan bir uygulama, yani gönderildiği portu dinleyen varsa mesajı alır...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Cevapla