![]() |
Indy 10 (ICMP und FTP Server) mit Win98?
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:
Muss ich für Win98 eine ältere Version von Indy bzw. Delphi nutzen?
ICMP.Host := IPControl;
ICMP.ReceiveTimeout := 5000; //max 5 Sekunden für Ping try ICMP.Ping; Application.ProcessMessages; finally end; Das Programm hat den FTP Server und eine ICMP Komponente von Indy. Ich nutze D2006 Professional. |
Re: Indy 10 (ICMP und FTP Server) mit Win98?
Hat denn keiner eine Info, ob Indy 10 auch unter Win98 läuft? In den Datein selber habe ich nichts gefunden.
|
Re: Indy 10 (ICMP und FTP Server) mit Win98?
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 |
Re: Indy 10 (ICMP und FTP Server) mit Win98?
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; |
Re: Indy 10 (ICMP und FTP Server) mit Win98?
Guten Abend,
welche Indy Version nutzt Du denn. Ich habe hier einen interessanten ![]() icmp rangecheck error gefunden. Eventuell mal auf den ![]() .. und wenn das nichts hilft, dann kannst Du immer noch selber Hand an die idStackBSDBase.pas legen.
Delphi-Quellcode:
und den range check ausschalten:
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; Zitat:
Grüße Klaus |
Re: Indy 10 (ICMP und FTP Server) mit Win98?
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. |
Re: Indy 10 (ICMP und FTP Server) mit Win98?
.. nun ja, schon ..
Wenn Du aber direkt auf mit der API arbeiten willst, findest Du ![]() Wäre vielleicht einen Versuch wert. Grüße Klaus |
Re: Indy 10 (ICMP und FTP Server) mit Win98?
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 |
Re: Indy 10 (ICMP und FTP Server) mit Win98?
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz