Ağda Exe Çalıştırma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
esrehmaan

Ağda Exe Çalıştırma

Mesaj gönderen esrehmaan »

Merhaba arkadaşlar,

Ağdaki bir exeyi ağdaki makinada çalıştıra bilirmiyim ?
Şöyle anlatayım

A(benim makine) B (ağdaki makine)

Ben A dan B deki notepad.exe B daki pc de açtırta bilirmiyim ? ve Kapata bilirmiyim ?
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Ağda Exe Çalıştırma

Mesaj gönderen mkysoft »

uzaktan yönetim yapmak istiyorsunuz yani.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Ağda Exe Çalıştırma

Mesaj gönderen conari »

pstool diye arattır harici exeler ile komut vererek yapabilirsiniz.
örnek;
pskill [- ] [-t] [\\computer [-u username] [-p password]] <process name | process id>
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Ağda Exe Çalıştırma

Mesaj gönderen SimaWB »

WMI kullanarak uzak pc'deki bir programı çalıştırabilirsin. Örnek program.
There's no place like 127.0.0.1
esrehmaan

Re: Ağda Exe Çalıştırma

Mesaj gönderen esrehmaan »

Arkadaşlar cevap için tşkler...

SimaWb sana ekstradan tşk ederim. Bu verdiğin örneği kullanmak için windowsdan uzak masaüstü kurman gerekiyor. Ve kullanıcı adı belirleyip şifre belirlemen gerekiyor. Bana şifresiz bişi lazım. Ve verdiğin örneği uzak masaüstü kurarak yaptım ancak exeyi yinede çalıştırmadı...
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Ağda Exe Çalıştırma

Mesaj gönderen mkysoft »

güvenlik gerekliliğinden dolayı, kullanıcı adı şifre olmadan bir bağlantı kurmanız mümkün değil. kendiniz bir server-client uygulaması yaparsanız, kullanıcı adı şifre gereği kalmaz.
esrehmaan

Re: Ağda Exe Çalıştırma

Mesaj gönderen esrehmaan »

Hocam yaklaşık olarak 100 yakın makina olduğu için teredütüm şudur ki ağda kasılma olasılığı olur diye. Dün gece socketler ile uygulama yazdım. Şimdi diğer bir sorunda serverdan socket ile memo içeriğini yollarken herhangi bir karakter kısıtlaması var mı ? Atıyorum 1000 karaktere kadar veri yollaya bilirsiniz. tarzında. Çünkü memonun içinde yaklaşık olarak 2000 yakın karaktere yakın yazı var hep eksik yolluyor. Acaba utf8 den kaynaklımıdır. yoksa sınırmı vardır ?
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: Ağda Exe Çalıştırma

Mesaj gönderen tuna »

Parça parça göndermeyi denedinmi?. Mesela 255 255 şeklinde.
esrehmaan

Re: Ağda Exe Çalıştırma

Mesaj gönderen esrehmaan »

hocam dediğim gibi sınırı varmış. ama ben şunu yapıyorum gereksiz şeyleri siliyorum sorun kalamıyor.

Ama yeni sıkıntlarım var atıyorum 192.168.1.5 bu makinadaki clienti kapattığımda serverda halen bağlı gözüküyor. yeniden aynı pc de açınca clientin bu kez serverda iki tane 192.168.1.5 olan pc gözüküyor. bunun nasıl düzelte bilirim acaba ?


var
i:integer; //Client makina sayısı için
begin
listbox1.Clear;
listbox2.Clear;
listbox3.Clear;
listbox4.Clear;
listbox5.Clear;
listbox6.Clear;
for i :=0 to ServerSocket1.Socket.ActiveConnections-1 do
begin
with ServerSocket1.Socket.Connections do

begin
listbox1.Items.Add(RemoteAddress);
listbox2.Items.Add(inttostr(i));
end;
end;
kullandığım kot budur
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: Ağda Exe Çalıştırma

Mesaj gönderen tuna »

Client kapanırken server'a kapanıyorum diye mesaj gönderebilirsin. Veya her 30 saniyede client server'a online olduğunu belirten bir mesaj gönderir. Server 30 saniye içinde mesajı almassa client'i kapanmış olarak varsayar. Bu mantıkla belki bişeyler geliştirebilirsin.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Ağda Exe Çalıştırma

Mesaj gönderen SimaWB »

Server'ın periyodik olarak client'ları kontrol etmesi daha mantıklı. Client PC yada client program normal olmayan yollarla kapandığında server'a mesaj atamadan kapanır, dolayısıyla serverın bundan haberi olmaz.
viewtopic.php?f=2&t=30235
burayı okumanızı da tavsiye ederim.
There's no place like 127.0.0.1
esrehmaan

Re: Ağda Exe Çalıştırma

Mesaj gönderen esrehmaan »

for i:=0 to serversocket1.Socket.ActiveConnections-1 do
begin

if serversocket1.Socket.Connections<>nil then
begin
listbox1.Items.Add(serversocket1.Socket.Connections.RemoteAddress);
listbox2.Items.Add(inttostr(i));
end;
end;

end;

hocam dediğiniz gibi kontrol ettiyorum ama yine çift görüyor
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: Ağda Exe Çalıştırma

Mesaj gönderen tuna »

Yazdığın döngü öncesinde listboxların içi boşmu?
esrehmaan

Re: Ağda Exe Çalıştırma

Mesaj gönderen esrehmaan »

evet listboxların içini boşaltıyorum devamlı
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Ağda Exe Çalıştırma

Mesaj gönderen SimaWB »

Client düzgün bir şekilde kapatılmadığında ServerSocket'İn ClientError event'i tetiklenmiyor mu? Bunu kontrol edebilir misiniz? Bence tetiklenmesi lazım ve aşağıdaki gibi kod işinizi görür:

Kod: Tümünü seç

procedure TForm1.ServerSocket1ClientError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
  if (Socket <> nil) and (Socket.Connected) then
    Socket.Close;
  ErrorCode := 0;
end;
There's no place like 127.0.0.1
Cevapla