Socket

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
akgun83
Üye
Mesajlar: 106
Kayıt: 26 Eyl 2003 11:34

Socket

Mesaj gönderen akgun83 »

Selim Kekeç yazdı: Ümit bey merhaba;
Ben daha çok oracle developer kullanıyorum ama bir program için delphi
kullanmam gerekti.
Umarım yardımcı olursunuz.
Bir A makinesinin 1500 nolu bortundan bir B makinesinin 1500 nolu
portuna
mesaj gönderiyorum.
Gönderici ve alıcı kısmı yaptım. Fakat B makinesine gelen mesajın
içeriğine
göre gelen mesajın
başka makinelere dağıtılması lazım.
B makinesinde bulunan ServerSocket okuma yaptığında
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
gelen : string;
begin
gelen:=Socket.ReceiveText;//Memo1.Text;
Memo1.Lines.Add(gelen);
if copy(gelen,1,4)='seli' Then
begin
ClientSocket1.Active := false;
//showmessage('Selim mesajı geldi');
ClientSocket1.Port := 1500;
ClientSocket1.Host := '165.150.30.38';
ClientSocket1.Active := true;
end;
if copy(gelen,1,4)='ugur' then
begin
ClientSocket1.Active := false;
//showmessage('ugur mesajı geldi');
ClientSocket1.Port := 1500;
ClientSocket1.Host := '165.150.30.14';
ClientSocket1.Active := true;
end;
showmessage(gelen);//BURAYA DİKKAT
if ClientSocket1.Active then
ClientSocket1.Socket.SendText(gelen);
end;
Kodunu çalıştırıyorum.Yukarıdaki kodda //BURAYA DİKKAT yazdığım satır
varken herşey yolunda.Tabii mesaj kutusuna OK demem şartıyla.
Ben ise burada mesaj kutusu çıksın istemiyorum.Bu satırı kapattığımda
ise B
makinesi dağıtım yapmıyor.
Sebebi ne olabilir.?Yardımlarınızı bekliyorum..

İyi çalışmalar...Selim KEKEÇ
Lütfen mail ile soru sormayın
forum kuralları - ilgili madde :
viewtopic.php?t=6
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Sayın akgun83, ya da Umit bey, :)
öncelikle forum kurallarını uygulama konusundaki hassasiyetiniz için canı gönülden teşekkür ederim....

Selim Bey'in sorusundaki problem gerçekten ilginc.. ilgili satırın işi yapmakla uzaktan yakından ilgisi yok.....
Aklıma gelen 2 sey var
1. O satır yerine Application.ProcessMessages komutunu vermek belki bir çare olabilir. Uygulamanın biriken mesajları çalıştırmasına imkan vermesi sebebi ile.....
2. Clientsocket kullanmadım ama belki arka arkaya bazı islemlerde bir sorun oluyor ve o mesaj bir bekelem olusturup o problemin onune geciyor olabilir gibi bir ihtimal geliyor aklıma... Cok makul degil ama... Bu durumda da orası icin 1-2 saniyelik bir bekleme saglayacak sleep(2000) gibi bir komut yazılabilir....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Cevapla