AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Clientsoccket wird nicht Active....
Thema durchsuchen
Ansicht
Themen-Optionen

Clientsoccket wird nicht Active....

Ein Thema von m0sch3r · begonnen am 2. Aug 2004 · letzter Beitrag vom 2. Aug 2004
Antwort Antwort
m0sch3r

Registriert seit: 29. Mär 2004
121 Beiträge
 
Delphi 7 Enterprise
 
#1

Clientsoccket wird nicht Active....

  Alt 2. Aug 2004, 14:36
Tach....

folgendes Problemm...
zur Laufzeit des programms wird die ClientSocket Eingenschaft "Active" jeweils auf True und False gesetzt,
beim setzen der Eingenschaft auf true und nachkommenden
Prufung ist sie jedoch False....!!!!!

Delphi-Quellcode:
     result := true;
     form1.ClientSocket1.Address := SERVER_IP;
     form1.Debug_Memo.Lines.Add('Try to connect to the new Server '+ SERVER_IP +formatDateTime('hh:nn:ss:', now));

     try
     form1.ClientSocket1.Active := true;
     except
     form1.Debug_Memo.Lines.Add('Error while connecting '+ server_ip+ ' ' +formatDateTime('hh:nn:ss:', now));
     end; //TRY
     if not form1.ClientSocket1.Active then
        begin
        form1.Debug_Memo.Lines.Add('Sorry nobody at home at :)'+ server_ip+ ' ' +formatDateTime('hh:nn:ss:', now));
        result := false;
        end;
auf der Gegenseite (auf dem Server) werden aber die Ereignisse OnClientConnect und OmAccept ausgelöst..

beim Versuch daten vom Client zum Server zuschicken passiert nichts...
ip und port sind jeweils eingestellt auf beiden Seiten....
  Mit Zitat antworten Zitat
Benutzerbild von mischerr
mischerr

Registriert seit: 6. Feb 2004
Ort: Konz
243 Beiträge
 
Delphi 12 Athens
 
#2

Re: Clientsoccket wird nicht Active....

  Alt 2. Aug 2004, 20:01
F1! F1! Dazu schreibt die Delphi-Hilfe...

Zitat:
Zur Entwurfszeit setzen Sie Active auf True, damit der Socket beim Start der Anwendung eine Verbindung öffnet. Zur Laufzeit verwenden Sie zum Öffnen und Schließen der Verbindung die Methoden Open und Close.


Grüsse!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Clientsoccket wird nicht Active....

  Alt 2. Aug 2004, 21:16
Moin!

Das macht nix - wenn man sich den Code der beiden Komponenten mal anschaut:

Delphi-Quellcode:
procedure TAbstractSocket.Open;
begin
  Active := True;
end;

procedure TAbstractSocket.Close;
begin
  Active := False;
end;
Grundlegend sind aber 2 Gedankenfehler in dem o.g. Code:

1. Das Try/Except ist soweit unnütz, da der Socket mit einem Thread arbeitet und daher die Fehler asynchron zu den Methoden auftreten - nutze das OnError Ereignis statt dessen.
2. Wenn du Active auf True setzt, dann macht er das aus dem in 1. genannten Grund nicht sofort und daher kannst du nicht zwei Befehle später nachfragen ob der Socket aktiv ist.

MfG
Muetze1
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz