Laden...

Verbindung zu einer IP - Adresse testen

Erstellt von nargo vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.052 Views
N
nargo Themenstarter:in
42 Beiträge seit 2005
vor 18 Jahren
Verbindung zu einer IP - Adresse testen

Hallo Leute,

ich habe ein Problem unter dem Compact Framework.
Mein PDA soll Datenbanken synchronisieren. Dazu connected sich die Oracle - Datenbank auf dem PDA mit einer großen auf einem stationären PC. Dies geschieht über TCP / IP, sprich es ist egal ob ich im LAN, WLAN hänge oder ob über GPRS von unterwegs aus synchronisiert wird.
Jetzt sollen diese Möglichkeiten priorisiert werden. Sprich, wenn ich im LAN/WLAN bin, soll diese Verbindung genommen werden und nicht GPRS (Kostenfaktor).

Gibt es eine Möglichkeit, außer einem Ping (vielen Dank an dieser Stelle an Svenson, ich habs leider nicht geblickt mit dem Einbinden der C - Bibliothek) zu erkennen, dass eine bestimmte IP - Adresse erreichbar ist ?
Ideal wäre, wenn dieser Test nur sehr kurz geht, da sonst das restliche Programm zu lange steht. Mit Threads kann ich aufgrund der Datenbank leider nicht arbeiten.

Vielen vielen Dank für eure Hilfe.

Nargo

563 Beiträge seit 2004
vor 18 Jahren

Hallo Nargo

Um zu testen, ob ein Rechner X erreichbar ist, braucht man Ping, ohne wenn und aber 🙂 Natürlich könntest du auch versuchen eine Verbindung zur IP herzustellen, und wenn das klappt ist gut. Jedoch brauchst du auch einen Port um eine Verbindung herzustellen.

Ich habe dein Problem nicht verfolgt, jedoch kann ich irgendwie nicht glauben, das Pings nicht funktionieren.

Gruss,
.unreal

N
nargo Themenstarter:in
42 Beiträge seit 2005
vor 18 Jahren

Hallo .unreal,

Pings funktionieren über Umwege unter dem Compact Framework 1.0.
Es werden keine Raw Sockets unterstützt, deswegen ist die ganze Angelegenheit etwas schwieriger.
Hab leider keine Erfahrung in C und deswegen ist der Umweg über P/Invoke und irgendwelche Wrapperklassen sehr sehr (zu) schwer.

Wenn wem ne Idee kommt, kann er sich ja noch melden.

Vielen Dank an alle

Nargo

185 Beiträge seit 2005
vor 18 Jahren

Hallo Nargo,

versuch es mal mit dem Ping, Code im Anhang.

Martin

4.506 Beiträge seit 2004
vor 18 Jahren

Hallo zusammen!

Ich kenne mich bei Pocket-PCs überhaupt nicht aus. Aber um zu testen, ob sich der PC (vielleicht auch Pocket-PC?) an einem LAN angeschlossen ist, kann man auch dadurch ermitteln, ob die Netzwerkkarte (die für LAN vorgesehen ist) aktiv, bzw. Inaktiv ist.

Da es sich jetzt hier um Pocket-PCs handelt, weiß ich nicht in wie weit man da auf WMI-Funktionen und Windows-DLLs zugreifen kann, aber vielleicht liefert Dir mein Hinweis auch nur ein Denkanstoß in die Richtung.

@MartinH:

Wenn ich das jetzt richtig gelesen habe, dann unterstützt ein Pocket-PC keine RawSockets, denn dann dürfte Dein hier gesendeter Code nicht funktionieren.

Ciao
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

185 Beiträge seit 2005
vor 18 Jahren

Hallo,

schau doch mal OpenNetCF

Da gibts sehr viele nützliche Sachen für den Pocket-PC.

Hab grad auch eine Ping-Funktion gesehen.

N
nargo Themenstarter:in
42 Beiträge seit 2005
vor 18 Jahren

Dann hab ich was übersehen.
Arbeite schon länger mit OpenNeCF

Suche gleich nochmal.

Danke an alle.

185 Beiträge seit 2005
vor 18 Jahren

Hallo Nargo,

das hat norman:_timo auch gemeint, deshalb mein Tipp mit OpenNetCF.

Die Lib enthält alles was das Herz begehrt für den Pocket-PC.

N
nargo Themenstarter:in
42 Beiträge seit 2005
vor 18 Jahren

Ich hab heut leider keine Zeit mehr zum testen.
Wir nutzen nämlich keine PPCs sondern Windows CE.NET (Grundlage für PPC) Geräte (Psion Workabout Pro).
Ich werds euch aber wissen lassen sobald ichs getestet hab.

Gruß
Nargo