AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphianwendungen verbinden

Delphianwendungen verbinden

Ein Thema von juezi · begonnen am 27. Okt 2006 · letzter Beitrag vom 2. Nov 2006
Antwort Antwort
Seite 2 von 2     12
ScotsMan

Registriert seit: 1. Nov 2006
Ort: Leipzig
13 Beiträge
 
Delphi XE5 Professional
 
#11

Re: Delphianwendungen verbinden

  Alt 1. Nov 2006, 08:42
Hallo, erstmal.

Der Client kann nix vom Server wissen, deshalb geht das so nicht. Der Client weiss aber, ob er zum Server verbunden ist. Die Abfrage muesste also demzufolge

if ClientSocket1.Connect(ed) then heissen, denke ich.
MfG
$ route add default roma.it
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#12

Re: Delphianwendungen verbinden

  Alt 1. Nov 2006, 09:53
Zitat:
ich hab noch eine Frage, wenn ich vom Client aus den Server abfragen ob er aktiv ist?
wenn du mit dem Client eine verbindung startest gibt es einen Fehler, wenn der Server nicht aktiv ist.
Man könnte das ungefähr so lösen:
Delphi-Quellcode:
try
 ClientSocket1.Active := True;
except
 { Ereignis, das eintretten soll, wenn Server nicht aktiv ist }
end;
Wenn du nur wissen willst ob der Server PC läuft, kann man das mit einem Ping herausfinden

Delphi-Quellcode:
function Ping(IP:string; TimeOut:Cardinal):Boolean;
  var hICMP : DWORD;
      pierWork : PICMP_ECHO_REPLY;
      dwSize : DWORD;
      Class1,Class2,Class3,Class4 : String;
      i,j : Byte;
begin
  Result:=False;
  j:=1;
  for i:=1 to Length(IP) do begin
    if IP[i]<>'.then begin
      case j of
        1: Class1:=Class1+IP[i];
        2: Class2:=Class2+IP[i];
        3: Class3:=Class3+IP[i];
        4: Class4:=Class4+IP[i];
      end;
    end else
      Inc(j);
  end;
  hICMP := IcmpCreateFile;
  if hICMP = INVALID_HANDLE_VALUE then exit;
  try
    dwSize := SizeOf(ICMP_ECHO_REPLY)+8;
    pierWork := AllocMem(dwSize);
    try
      if IcmpSendEcho(hICMP,MAKELONG(MAKEWORD(StrToInt(Class1), StrToInt(Class2)),MAKEWORD(StrToInt(Class3), StrToInt(Class4))),nil,0,nil,pierWork,dwSize,TimeOut) = 0 then
        Result:=False
      else
        Result:=True;
    finally
      FreeMem(pierWork,dwSize);
    end;
  finally
    IcmpCloseHandle(hIcmp);
  end;
end;
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
juezi

Registriert seit: 24. Nov 2004
34 Beiträge
 
#13

Re: Delphianwendungen verbinden

  Alt 2. Nov 2006, 07:00
Hallo Zusammen,

Danke für Eure Hilfe, ich denke ich kann mit den beiden Funktionen mein Problem beheben, ich werde zuerst mit ping testen ob der andere PC überhaupt aktiv ist und dann kann ich sehen ob der Client connected ist.

Vielen Dank

juezi
juezi
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf