AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Socket-Text an mehrere Rechner nacheinander im Netzwerk send
Thema durchsuchen
Ansicht
Themen-Optionen

Socket-Text an mehrere Rechner nacheinander im Netzwerk send

Offene Frage von "Maikiboy"
Ein Thema von Maikiboy · begonnen am 25. Apr 2007 · letzter Beitrag vom 9. Mai 2007
Antwort Antwort
Seite 3 von 3     123   
Maikiboy

Registriert seit: 25. Apr 2007
14 Beiträge
 
#21

Re: Socket-Text an mehrere Rechner nacheinander im Netzwerk

  Alt 26. Apr 2007, 18:47
So, habs jetzt nochmal mit Sleep gemacht, folgt aber genau der gleiche Mist.
Er öffnet zwar sockets und so alles korrekt, aber er sendet merkwürdigerweise den Text nicht.

Delphi-Quellcode:
procedure TForm1.AllCommandTimerTimer(Sender: TObject);
var tempip:String;
begin
  tempip := ListIp.Items[ListIp.Itemindex];
  try
    Client.Close;
    Memo1.Lines.Add('Socket zu ' + tempip + ' erfolgreich geschlossen');
  except
    Memo1.Lines.Add('Socket zu ' + tempip + ' konnte nicht geschlossen werden');
  end;
  Client.Host := tempip;
  try
    Client.Open;
    Memo1.Lines.Add('Socket zu ' + tempip + ' erfolgreich geöffnet');
  except
    Memo1.Lines.Add('Socket zu ' + tempip + ' nicht geöffnet');
  end;
  sleep(900);
  try
    Client.Socket.SendText(AllCommand);
    Memo1.Lines.Add('IP ' + tempip + ' erfolgreich');
  except
    Memo1.Lines.Add('IP ' + tempip + ' nichterfolgreich');
  end;
  ListIp.ItemIndex := ListIp.Itemindex + 1;
  if (ListIp.ItemIndex >= ListIp.Count) then
    AllCommandTimer.Enabled := False;
end;
  Mit Zitat antworten Zitat
Maikiboy

Registriert seit: 25. Apr 2007
14 Beiträge
 
#22

Re: Socket-Text an mehrere Rechner nacheinander im Netzwerk

  Alt 27. Apr 2007, 13:40
Was ist eigentlich mit Client.Free, muss man damit noch irgendwie arbeiten?

Delphi-Quellcode:
procedure TForm1.AllCommandTimerTimer(Sender: TObject);
var tempip:String;
begin
  tempip := ListIp.Items[ListIp.Itemindex];
  try
    Client.Close;
    Client.Host := tempip;
    Client.Open;
    sleep(100);
    Client.Socket.SendText(AllCommand);
    Memo1.Lines.Add('Erfolgreich IP ' + tempip + ' abgearbeitet');
  except
    Memo1.Lines.Add('IP ' + tempip + ' konnte nicht abgearbeitet werden');
  end;
  ListIp.ItemIndex := ListIp.Itemindex + 1;
  if (ListIp.ItemIndex >= ListIp.Count) then
        AllCommandTimer.Enabled := False;
end;
Solangsam werd ich verrückt, hab schon soviel Versucht, und so wie ichs jetzt gerade gepostet habe muss es doch eigentlich funtzen oder seh ich das falsch?

Er gibt zwar immer aus Erfolgreich IP lala abgearbeitet, aber den text sendet er nie wirklich.


Habe auch gerade nochmal getestet ob tempip und AllCommand gesetzt sind, und alles ist korrekt.

Komisch, komisch
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#23

Re: Socket-Text an mehrere Rechner nacheinander im Netzwerk

  Alt 27. Apr 2007, 15:00
Mach mal direkt nach dem sendtext eine if-Abfrage rein, ob client.active auch wirklich wahr ist. Und mit dem sleep meint ich eigentlich nur Folgendes, um die Auslastung der CPU zu verringern:
Delphi-Quellcode:
repeat
sleep(100);
application.processmessages;
until client.active;
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Maikiboy

Registriert seit: 25. Apr 2007
14 Beiträge
 
#24

Re: Socket-Text an mehrere Rechner nacheinander im Netzwerk

  Alt 27. Apr 2007, 15:37
Delphi-Quellcode:
procedure TForm1.AllCommandTimerTimer(Sender: TObject);
var tempip:String;
begin
  tempip := ListIp.Items[ListIp.Itemindex];
  try
    begin
      Client.Close;
      Client.Host := tempip;
      Client.Open;
      repeat
        sleep(100);
        application.processmessages;
      until client.active;
      Client.Socket.SendText(AllCommand);
      if (Client.Active) then
          Memo1.Lines.Add('Client ist aktiv.');
      Memo1.Lines.Add('Erfolgreich Befehl ' + AllCommand + ' an IP ' + tempip + ' gesendet');
    end;
  except
    Memo1.Lines.Add('IP ' + tempip + ' konnte nicht abgearbeitet werden');
  end;
  ListIp.ItemIndex := ListIp.Itemindex + 1;
  if (ListIp.ItemIndex >= 20) then
        AllCommandTimer.Enabled := False;
end;
so funktionierts, danke für die Hilfe.
  Mit Zitat antworten Zitat
Maikiboy

Registriert seit: 25. Apr 2007
14 Beiträge
 
#25

Re: Socket-Text an mehrere Rechner nacheinander im Netzwerk

  Alt 8. Mai 2007, 15:03
So, ich habe das ganze jetzt noch etwas umgeschrieben und habe den komischen fehler das er nicht disconnectne mag und somit das Event OnDisconnect nicht ausgelösst wird.

Einer ne idee?



Delphi-Quellcode:
procedure TForm1.AllCommandTimerTimer(Sender: TObject);
var tempip:String;
var error:Byte;
begin
  error:=0;
  tempip := ListIp.Items[ListIp.Itemindex];
  GlobalCommand := AllCommand;
  GlobalIP := tempip;
  Client.Close;
  ListIp.ItemIndex := ListIp.Itemindex + 1;
  if (ListIp.ItemIndex >= 20) then
        AllCommandTimer.Enabled := False;
end;
procedure TForm1.ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  if (AllCommandTimer.Enabled = true) then
      begin
          Memo1.Lines.Add('Connect erfolgreich --> Sende ' + GlobalCommand);
          Client.Socket.SendText(GlobalCommand);

      end;
end;

procedure TForm1.ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  if (AllCommandTimer.Enabled = true) then
      begin
          Memo1.Lines.Add('Disconnect erfolgreich --> Verbinde auf ' + GlobalIP);
          Client.Host := GlobalIP;
          Client.Open;
      end;
end;
gruss Maik
  Mit Zitat antworten Zitat
Maikiboy

Registriert seit: 25. Apr 2007
14 Beiträge
 
#26

Re: Socket-Text an mehrere Rechner nacheinander im Netzwerk

  Alt 9. Mai 2007, 13:11
*push
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz