Server-IP

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
WernerSt
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 41
Registriert: Do, 05. Apr 2007 12:50
Wohnort: 26135 Oldenburg
Kontaktdaten:

Server-IP

Beitrag von WernerSt »

Ich möchte von einem Arbeitsplatzrechner aus die IP des im lokalen Netzwerk verbundenen Fileservers abfragen und suche, bisher leider ohne Erfolg, nach einer Routine. Hat vielleicht jemand dazu eine Idee?
Werner
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Server-IP

Beitrag von Martin Altmann »

Ping auf den Namen oder nslookup - beides gibt Dir doch die IP-Adresse zurück.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Server-IP

Beitrag von georg »

Hallo,


falls Du die ASINET in Deiner Subscription drin hast, da gibt es SocketGetHostByName(), diese Funktion sollte Dir die Werte auch zurückliefern (habe das selbst bisher nicht verwendet).
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
WernerSt
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 41
Registriert: Do, 05. Apr 2007 12:50
Wohnort: 26135 Oldenburg
Kontaktdaten:

Re: Server-IP

Beitrag von WernerSt »

Hallo Martin & Georg,
vielen Dank für die Tipps.
Da ich eine Funktion suche, die ich in mein Programm einbinden möchte, kommt vermutlich eher
SocketGetHostByName() als ein ping über die Konsole infrage. Oder jemand kennt eine fertige Routine in der ot4xb-Bibliothek, die ich nur übersehe?
Mit der genannten Funktion aus dem ASINET-Paket werde ich mich aber schon einmal beschäftigen. Vielen Dank.
LG Werner
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Server-IP

Beitrag von brandelh »

Es gibt eine Funktion von Phil, mit der man eine CMD Ausgabe direkt in den Speicher holen kann, somit würde man nichts sehen können.
Aus eine Umleitung in eine temporäre Datei und versteckte Ausführung wären mit PING möglich, wenn man aber die ASINET sowieso hat ;-) (oder eine andere Bibliothek mit Socket Funktionen)
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Server-IP

Beitrag von AUGE_OHR »

WernerSt hat geschrieben:Oder jemand kennt eine fertige Routine in der ot4xb-Bibliothek, die ich nur übersehe?
ot4xb hat Functionen mit denen man eine solche Routine "bauen" kann.

Code: Alles auswählen

#include "ot4xb.ch"
#include "thread.ch"
// ---------------------------------------------------------------------------
proc dbesys ; return
// ---------------------------------------------------------------------------
proc main()
? Ping( "127.0.0.1"      )
? Ping( "www.xbwin.com"  )
? Ping( "www.alaska-software.com" )
? "Press a key to close ..."
inkey(0)
return 
// ---------------------------------------------------------------------------
function Ping( cHost,nTimeOut)
local o     := TPing():New() 
local cStr,cIp
DEFAULT cHost := ""
cIp := TPing():cHostByName(cHost,nTimeOut)
DEFAULT cIp := ""
if o:Ping(cHost)
   cStr := cPrintf("%s [%s] %ims TTL:%3i",cHost,o:cIp,o:nTime,o:nTtl)
else
   cStr := cPrintf("%s [%s] -> FAIL",cHost,cIp)
end
o:Destroy()
return cStr
// ---------------------------------------------------------------------------
Dateianhänge
TestPing.zip
benötigt ot4xb
(1.74 KiB) 168-mal heruntergeladen
gruss by OHR
Jimmy
WernerSt
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 41
Registriert: Do, 05. Apr 2007 12:50
Wohnort: 26135 Oldenburg
Kontaktdaten:

Re: Server-IP

Beitrag von WernerSt »

Hallo Jimmy,
zunächst vielen Dank für deinen Hinweis.
Diese Routine habe ich schon im Einsatz für die Abfrage der Internetgeschwindigkeit.
Ich möchte jetzt die Geschwindigkeit des lokalen Netzwerkes ermitteln, habe aber gedacht, dass bei Pablos ping nur eine IP-Adresse oder die Adresse der Internetseite, wie "WWW.alaska.com" einzutragen ist, so dass ich für die Abfrage des lokalen Netzwerkes zunächst die IP-Adresse des lokalen Netzwerkservers ermitteln wollte, um diese dann in Pablos ping einzutragen.
Der ping-Aufruf mit dem Zugriffspfad zum Fileserver im UNC-Format funktioniert nicht, und der Name des Fileservers, falls dieser einzutragen wäre, ist mir auch nicht bekannt, da ich i.d. Regel nicht die gesamte Netzwerkstruktur meiner Anwender kenne (liefere nur ein FIBU-Programm).
LG Werner
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Server-IP

Beitrag von brandelh »

PING im lokalen Netzwerk kann auch den normalen Rechnernamen verarbeiten (Netbios Namen).
Bei einem richtigen Servernetzwerk kann man den dann auch abfragen:
SET LOGONSERVER
bei einem PEER to PEER Netzwerk (Arbeitsgruppe) wird dann aber der lokale Rechner zurückgeliefert.
In einem kleinen lokalen Netzwerk kann man aber eigentlich jede IP abfragen, es gibt dann ja nur 255 ;-)

Code: Alles auswählen

=> ping 192.168.0.1    meist ist die .1 der Router

Ping wird ausgeführt für 192.168.0.1 mit 32 Bytes Daten:
Antwort von 192.168.0.1: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.0.1: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.0.1: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.0.1: Bytes=32 Zeit<1ms TTL=64

Ping-Statistik für 192.168.0.1:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms

=> ping 192.168.0.2

Ping wird ausgeführt für 192.168.0.2 mit 32 Bytes Daten:
Antwort von 192.168.0.24: Zielhost nicht erreichbar.
Antwort von 192.168.0.24: Zielhost nicht erreichbar.
Antwort von 192.168.0.24: Zielhost nicht erreichbar.
Antwort von 192.168.0.24: Zielhost nicht erreichbar.

Ping-Statistik für 192.168.0.2:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),

...
Gruß
Hubert
WernerSt
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 41
Registriert: Do, 05. Apr 2007 12:50
Wohnort: 26135 Oldenburg
Kontaktdaten:

Re: Server-IP

Beitrag von WernerSt »

Hallo Hubert,
vielen Dank für diese Informationen. Ich denke, dass ich jetzt eine Lösung programmieren kann.
LG Werner
Antworten