AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy 10 (ICMP und FTP Server) mit Win98?
Thema durchsuchen
Ansicht
Themen-Optionen

Indy 10 (ICMP und FTP Server) mit Win98?

Ein Thema von zeras · begonnen am 29. Dez 2008 · letzter Beitrag vom 3. Jan 2009
Antwort Antwort
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#1

Indy 10 (ICMP und FTP Server) mit Win98?

  Alt 29. Dez 2008, 15:29
Hallo,

ich programmiere im Moment ein Testprogramm, wo man verschiedenes in Richtung FTP testen kann. Dazu nutze ich auch Threads.
Unter XP läuft das Ganze stabil, aber unter Win98 gibt es schon Probleme mit dem Ping. Es kommt dann Fehlermeldung "Fehler bei Bereichsprüfung".

Hier der Codeausschnitt
Delphi-Quellcode:
  ICMP.Host := IPControl;
  ICMP.ReceiveTimeout := 5000; //max 5 Sekunden für Ping

  try

    ICMP.Ping;

    Application.ProcessMessages;
  finally

  end;
Muss ich für Win98 eine ältere Version von Indy bzw. Delphi nutzen?
Das Programm hat den FTP Server und eine ICMP Komponente von Indy.
Ich nutze D2006 Professional.
Matthias
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#2

Re: Indy 10 (ICMP und FTP Server) mit Win98?

  Alt 1. Jan 2009, 17:58
Hat denn keiner eine Info, ob Indy 10 auch unter Win98 läuft? In den Datein selber habe ich nichts gefunden.
Matthias
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Indy 10 (ICMP und FTP Server) mit Win98?

  Alt 1. Jan 2009, 19:40
Guten Abend,

bist Du dir sicher, dass der Fehler vom TidIcmpClient kommt?
Ich habe auch nichts gefunden, das darauf hindeutet das Indy10 nicht mit Win98 funktioniert.


Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#4

Re: Indy 10 (ICMP und FTP Server) mit Win98?

  Alt 2. Jan 2009, 20:19
Habe mal ein kurzes Programm geschrieben, wo nur der ICMP Client drin ist mit Standardwerten.
Unter XP keine Probleme aber bei Win98 kommt immer "Fehler bei Bereichsprüfung", wenn man den Button klickt zum Starten von Ping.
Ein FTP Server läuft aber unter Win98.

Nachfolgend mein Programm.

Host - 192.168.1.11
IPVersion - Id IPv4
Packetsize - 1024
Port - 0
Protocol - 1
ProtocolIPv6 - 50
ReceiveTimeout - 5000



Delphi-Quellcode:

procedure TForm6.Button1Click(Sender: TObject);
begin
  try

    IdIcmpClient1.Ping;

  finally

  end;
end;



procedure TForm6.IdIcmpClient1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);

var
  s : String;
  FktOK : Boolean;

begin
   s:='Unknown error';


   case AReplyStatus.ReplyStatusType of
    rsEcho: begin

                          s:=format('response from host %s in %d millisec.',
                           [AReplyStatus.FromIpAddress,
                           AReplyStatus.MsRoundTripTime]);
                        end;

    rsError: s:='Unknown error';

    rsTimeOut: s:='Ping time out.';

    rsErrorUnreachable: s:=format('Host %s reports destination network unreachable.',[AReplyStatus.FromIpAddress]);

    rsErrorTTLExceeded: s:=format('Hope %s: TTL expired.',[AReplyStatus.FromIpAddress]);
  end; // case

  Memo1.Lines.Add(s);


end;
Matthias
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Indy 10 (ICMP und FTP Server) mit Win98?

  Alt 2. Jan 2009, 21:43
Guten Abend,

welche Indy Version nutzt Du denn.
Ich habe hier einen interessanten Thread bzgl.
icmp rangecheck error gefunden.

Eventuell mal auf den daily snapshot von Indy 10 updaten.
.. und wenn das nichts hilft, dann kannst Du immer noch selber Hand an die
idStackBSDBase.pas legen.
Delphi-Quellcode:
function TIdStackBSDBase.NewSocketHandle(const ASocketType:TIdSocketType;
  const AProtocol: TIdSocketProtocol;
  const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION;
  const AOverlapped: Boolean = False): TIdStackSocketHandle;
begin
  Result := CheckForSocketError(WSSocket(IdIPFamily[AIPVersion], ASocketType,
    AProtocol, AOverlapped));
end;
und den range check ausschalten:
Zitat:
Type Switch
Syntax {$R+} or {$R-}
{$RANGECHECKS ON} or {$RANGECHECKS OFF}
Default {$R-}
{$RANGECHECKS OFF}
Scope Local
Remarks

The $R directive enables or disables the generation of range-checking code. In the {$R+} state, all array and string-indexing expressions are verified as being within the defined bounds, and all assignments to scalar and subrange variables are checked to be within range. If a range check fails, an ERangeError exception is raised (or the program is terminated if exception handling is not enabled).
Enabling range checking slows down your program and makes it somewhat larger, so use the {$R+} only for debugging.

Note: Long strings are not range checked
.
Habe hier kein Win98, gab es damit schon Admin User?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#6

Re: Indy 10 (ICMP und FTP Server) mit Win98?

  Alt 3. Jan 2009, 10:07
Das geht ja hier sehr ins eingemachte. Mal sehen, ob ich das hinbekomme.
Indy Version ist 10.1.5, welche bei D2006 Professional mit dabei war.
Ich werde mal versuchen, die Änderung einzubauen.

Danke erst mal für die Tipps.
Matthias
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Indy 10 (ICMP und FTP Server) mit Win98?

  Alt 3. Jan 2009, 11:02
.. nun ja, schon ..

Wenn Du aber direkt auf mit der API arbeiten willst,
findest Du hier einen ping Alternative.
Wäre vielleicht einen Versuch wert.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#8

Re: Indy 10 (ICMP und FTP Server) mit Win98?

  Alt 3. Jan 2009, 12:52
Hallo Klaus,

vielen Dank für den Link. Da hätte ich wahrscheinlich selber draufkommen müssen, dass man mal was anderes probiert, wenn das mit Indy nicht geht. Aber da sucht man erst mal bei Indy.
Jedenfalls scheint diese Variante unter Win98 zu gehen.

Werde ich gleich mal in mein Projekt einarbeiten. Hatte es nur zum Test eingebaut.

Viele Grüße

Matthias
Matthias
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Indy 10 (ICMP und FTP Server) mit Win98?

  Alt 3. Jan 2009, 14:11
Es gibt übrigens FTP-Server, die nicht auf Ping (ICMP-Echo) antworten.
Dazu gehören z.B. die FTP-Server der deutschen Post (DHL).
Ich weiss nicht ob der Grund falsches Sicherheitsdenken, eine schlecht konfigurierte Firewall oder Angst vor einem DOS-Angriff ist...
Das Gleiche gilt auch für die Clients. Nicht jeder FTP-Client, der gerade verbunden ist, antwortet auf Ping.
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:41 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