Autor Beitrag
Peter2002
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 103

Win XP, Win 7
Delphi 2007 / XE3
BeitragVerfasst: Fr 28.03.03 21:54 
Hallo,

wie der Titel schon sag ... Ich möchte wissen, ob ein bestimmter PC im Netz mit dem Internet verbunden ist.
Ich habe mir das so vorgestellt:
Auf PC1 läuft ein kleines Progrämmchen, welches regelmäßig prüft, ob eine Internetverbindung besteht (wie das geht weiß ich) und eine Meldung an PC2 schickt.
Ich wollte das mit Server- und ClientSocket machten, also Chat-ähnlich, wo halt nur ein String mit online bzw. offline gesendet wir, aber irgendwie kommt da immer ein leerer string an.

Geht das auch anders?
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: Fr 28.03.03 23:03 
Hi ...
ja du kannst einfach pingen ... und wie das geht erfärst nach der mau ... äh .. suche :) Sofern ich das richtig verstanden habe, willst du ja nur das "vorhandensein" des PC testen und das geht ameinfachsten mit dem Ping ... wenn der Ping ankommt gehts wohl -> der PC is da, sollte er jetzt aber nicht ankomme ... -> is wohl der PC aus. Das ganze hat den Vorteil das man nur das "Server" Prog braucht das den Ping macht ...

MfG BungeeBug
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Sa 29.03.03 12:23 
nimm doch die INDy kompo umd den string 'online' oder 'offline' von einem PC zum anderen zu bekommen. das geht recht komfortabel damit !

_________________
In the beginning was the word.
And the word was content-type: text/plain.
Peter2002 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 103

Win XP, Win 7
Delphi 2007 / XE3
BeitragVerfasst: Sa 29.03.03 15:57 
ich will wissen, ob der andere PC mit dem Internet verbunden ist (eine DFÜ-Verbindung offen ist).
Nur weil ein PC im Netzwerk auf den Ping reagiert, heißt das doch noch lange nicht, dass er im Internet ist.

@matze: welche Indy-Komps brauch ich da?
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Sa 29.03.03 22:38 
ping yahoo.de
oder irgendne externe ip ... falls du kein dns hast ...
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Sa 29.03.03 22:52 
Peter2002 hat folgendes geschrieben:
ich will wissen, ob der andere PC mit dem Internet verbunden ist (eine DFÜ-Verbindung offen ist).
Nur weil ein PC im Netzwerk auf den Ping reagiert, heißt das doch noch lange nicht, dass er im Internet ist.

@matze: welche Indy-Komps brauch ich da?


häää??? Im Netzwerk ja, aber nicht im DFÜ? Grübel.
wie soll das gehen? Also wenn er auf einen Ping reagiert, sollte er im Netzwerk sein, sprich die DFÜ Leitung ist offen. Oder hast du einen Lan Rechner mit DFÜ Adapter?
grez
msch
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Sa 29.03.03 23:04 
er hat sicher ping 192.168.0.1 oder ping localhost probiert ...

den stecker rausgezogen und festgestellt ... "ping geht auch wenn ich nicht im inet bin" ... :roll:
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: So 30.03.03 11:39 
also um den string von einem PC zum aderen zu bekommen nimmst du die INDY TCP Client oder Server kompo. wie das geht, das ist in den DEMO Files gut gezeigt.

_________________
In the beginning was the word.
And the word was content-type: text/plain.
Peter2002 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 103

Win XP, Win 7
Delphi 2007 / XE3
BeitragVerfasst: So 30.03.03 14:02 
OK, ich glaube ich habe mich nicht sehr verständlich ausgedrückt. Also Veruch #2.
Ich habe zwei PCs, die beide an einem Hub hängen. Am Uplink des Hubs hängt das DSL-Modem. Beide PCs habe eine DFÜ-Verbindung. Wenn also einer der beiden ins Internet geht, dann kann sich der andere nicht mehr einwählen, weil der eine das ja schon getan hat.
D.h. ein lokaler Ping wird immer gehen, ein externer nur dann, wenn an meinen PC die DFÜ offen ist. Die wiederum kann ich aber nicht immer aufmachen, weil ja evtl der andere drin ist.
...Ich will nur wissen, ob ich mir den Einwahlversuch sparen könnte.

Bitte erzählt mir jetzt nichts über Proxy. Ich will ins Internet können, ohne erst einen anderen Rechner einzuschalten, bzw deisen ständig laufen zu lassen.

PS: ich hoffe ich habe mich verständlicher ausdrücken können
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Mo 31.03.03 00:04 
Zitat:

D.h. ein lokaler Ping wird immer gehen, ein externer nur dann, wenn an meinen PC die DFÜ offen ist. Die wiederum kann ich aber nicht immer aufmachen, weil ja evtl der andere drin ist.
...Ich will nur wissen, ob ich mir den Einwahlversuch sparen könnte.


das sag ich doch ... ping einfach yahoo an ... bist du schon im inet kriegst du en reply, bist dus nicht wählst du dich ein ...
Böser Borstel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 154



BeitragVerfasst: Mo 31.03.03 14:18 
Titel: vielleicht so
mit dem folgenden code kannst du prüfen ob derzeit eine verbindung offen ist über dfü, netzwerk oder proxy ins internet.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
function TfrmCDArchiv.IstInternetVerbindung: Boolean;
var
  dwConnectionTypes: DWORD;
begin
  dwConnectionTypes :=
    INTERNET_CONNECTION_MODEM +
    INTERNET_CONNECTION_LAN +
    INTERNET_CONNECTION_PROXY;
  Result := InternetGetConnectedState(@dwConnectionTypes, 0);
end;