![]() |
(Indy) SNMP-Zugriff auf einen Netzwerkdrucker
Hallo zusammen,
ich versuche gerade mit der Komponente TIdSNMP auf meinen Netzwerkdrucker zuzugreifen. Nur leider werden keine Wert(e) zurückgegeben.
Delphi-Quellcode:
Wenn ich jetzt einen Versuch starte, wird mir lediglich nur die Message "SNMP-Request failed !!" angezeigt. Was mache ich falsch ?
var
Idx: Integer; IdSNMP_1 : TIdSNMP; RetrStr: string; begin M_1.Lines.Clear; IdSNMP_1 := TIdSNMP.Create(nil); IdSNMP_1.Query.Clear; IdSNMP_1.Query.Host := '192.168.200.88'; IdSNMP_1.Query.Community := 'public'; IdSNMP_1.Query.PDUType := PDUGetNextRequest; IdSNMP_1.Query.MIBAdd('1.3.6.1.2.1.1.5.0', ''); IdSNMP_1.Query.Version := 1; IdSNMP_1.Connect; if IdSNMP_1.Connected then if IdSNMP_1.SendQuery then begin M_1.Lines.Add('Replies: ' + IntToStr(IdSNMP_1.Reply.ValueCount)); for Idx := 0 to IdSNMP_1.Reply.ValueCount - 1 do M_1.Lines.Add(IdSNMP_1.Reply.Value[0]); end else ShowMessage('SNMP-Request failed !!') else ShowMessage('SNMP-Connect failed !!'); end; Ich muss nicht die Indy-Komponente nehmen, ich kann auch auf eine andere kostenlose Variante ausweichen. Ich teste das ganze nämlich gerade. |
AW: (Indy) SNMP-Zugriff auf einen Netzwerkdrucker
Hast du mit einer unabhängigen SNMP-Software getestet, ob der Drucker überhaupt auf die Anfragen reagiert?
Ich meine es ist immer das gleiche Prinzip bei der Kommunikation; ob es sich um serielle Schnittstellen, TCP/IP, SOAP, IMAP, FTP oder was auch immer handelt: Es muss immer zuerst mit einer Software geprüft werden, ob eine Datenverbindung besteht. Erst danach beginnt man zu programmieren. z.B. ![]() |
AW: (Indy) SNMP-Zugriff auf einen Netzwerkdrucker
Hallo sx2008,
danke für Deine Antwort. Ich habe mit unabhängigen Programmen drauf zugegriffen und ich konnte damit die komplette MIB-Struktur des Gerätes auslesen. Zusätzlich habe ich es nochmal mit dem SNMP-JManager heute morgen probiert. Auch damit kann ich auf das Gerät ohne weiteres zugreifen. |
AW: (Indy) SNMP-Zugriff auf einen Netzwerkdrucker
Als nächsten Schritt würde ich vorschlagen mit
![]() Alternativ kannst du auch die Unit mit der TIdSNMP-Komponente in dein Projektverzeichnis kopieren und dann einen Breakpoint auf Zeile
Delphi-Quellcode:
setzten.
if IdSNMP_1.SendQuery then
Mit F8 in die Funktion SendQuery einsteppen und schauen was da nicht passt. Evtl. müssen weitere Units von Indy ins Projektverz. kopiert werden, um noch tiefer vorzudringen. |
AW: (Indy) SNMP-Zugriff auf einen Netzwerkdrucker
Hallo RWarnecke,
ich konnte mich errinnern, dass bei mir Indy auch nicht sofort bei snmp gelangt. Was bei mir auf Anhieb funktionierte war das snmp Demo von der Synapse Komponente. Gibt es unter " ![]() Achja für Installation in Delphi muß du natürlich den \lib Pfad von Synapse in Delphi Bibliothekspfad eintragen. :wink: Lg, jus |
AW: (Indy) SNMP-Zugriff auf einen Netzwerkdrucker
Hallo zusammen,
mit Synapse funktioniert das ganze einwandfrei. Ich danke euch beiden für eure Antworten. Ich habe mich nach dem Test mit Synapse dafür entschieden diese Komponente zu verwenden. Sie ist zwar noch nicht Delphi 2010 fähig, aber das sollte machbar sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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