Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Asynchroner Client Fehler 10049 (https://www.delphipraxis.net/152529-asynchroner-client-fehler-10049-a.html)

Delphi-Narr 25. Jun 2010 17:20

Asynchroner Client Fehler 10049
 
Hallo,
ich habe ein Problem mit einer Server-Socket Verbindung:
Ich habe eine Server-Applikation und eine Client-Applikation.

Hier der Server:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
     ip.caption:=Watch.LocalIP;
     Server.Open;
end;

procedure TForm1.ServerClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
     Passiert.Lines.Add('Verbunden ('+TimeToStr(Now)+')');    
end;

procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
     Passiert.Lines.add('Gestartet ('+TimeToStr(Now)+')')
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin            
     Server.active:=False;
end;
und hier der Client:

Delphi-Quellcode:
procedure TForm1.ConnectClick(Sender: TObject);
begin
     CLient.Host:=ip.text;
     client.Active:=True;
     Client.open;
     Start.enabled:=True;  
     Passiert.Lines.Add('Verbunden ('+TimeToStr(Now)+')');
end;

procedure TForm1.StartClick(Sender: TObject);
begin
     Client.Socket.SendText('start');
     Passiert.Lines.add('Gestartet ('+TimeToStr(Now)+')')
end;
Beide laufen auf Port 8181 und ich möchte mich jetzt mit der Clientapplikation bei der Serverapplikation anmelden und "Start" schicken.
Bisher laufen beide Programme auf einem PC und wenn ich auf Verbinden klicke kommt folgender Fehler:
Asynchroner Socketfehler: 10049
Wo ist hier der Fehler?

Viele Grüße!

fkerber 25. Jun 2010 19:05

AW: Asynchroner Client Fehler 10049
 
Hi!

MSDN sagt dazu:

Zitat:

WSAEADDRNOTAVAIL (10049)

* Übersetzung : angeforderte Adresse kann nicht zuweisen.
* Beschreibung : die angeforderte Adresse ist in seinem Kontext ungültig. Dieser Fehler tritt i. d. r. aus Versuch (Wsapiref_6vzm.asp) binden an eine Adresse, die nicht für den lokalen Computer gültig ist. Dieser Fehler kann auch auftreten, von herstellen (Wsapiref_8m7m.asp) Sendto (Wsapiref_4sqa.asp) WSAConnect (Wsapiref_8kc2.asp), (Wsapiref_7dv6.asp) WSAJoinLeaf oder WSASendTo (Wsapiref_752q.asp), wenn der remote-Adresse oder den Port für einen Remotecomputer (z. B. Adresse oder Port 0) ungültig ist.
Grüße, Frederic

Delphi-Narr 25. Jun 2010 19:39

AW: Asynchroner Client Fehler 10049
 
Hm, danke... Aber was bedeutet das jetzt für mich??? Die iP Adresse existiert, Ports sind synchron und Server und Client laufen...

c4rtm4n 25. Jun 2010 20:02

AW: Asynchroner Client Fehler 10049
 
Hi,

probiere mal den Client auf einem anderen Port laufen zu lassen.
Es kann sein, dass der Server den Port durch Warten auf Verbindungen blockiert.

Gruß

Delphi-Narr 25. Jun 2010 20:07

AW: Asynchroner Client Fehler 10049
 
Hat leider überhaupt keine Wirkung :(

c4rtm4n 25. Jun 2010 20:14

AW: Asynchroner Client Fehler 10049
 
Welche Komponenten verwendest du denn?
Dann kann ich das mal nachbauen...

oder magst mal dein Projekt anhängen?

Delphi-Narr 25. Jun 2010 20:18

AW: Asynchroner Client Fehler 10049
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich verwende normal TServerSocket und TClientSocket... Ich hängs trotzdem mal an. Danke!

c4rtm4n 25. Jun 2010 20:57

AW: Asynchroner Client Fehler 10049
 
Hi,

hatte nen kleines Problem deine Projekte zu öffnen, weil ich die beiden Komponenten (TClientSocket, TServerSocket) nicht als VCL-Komponente installiert habe (warum auch immer die in RAD Studio 2009 nicht installiert sind).

Trotzdem habe ich mir das ganze mal angeguckt. Hab die Komponenten einfach zur Laufzeit erzeugt.

Das erste, was mir aufgefallen ist, ist die Zuweiseung der Verbindungsinformationen beim Client...

Du verwendest die Eigenschaft "Host". Die Delphi Hilfe sagt aber, man soll die Eigenschaften Address und Port benutzen, weil die Host-Eigenschaft nur irgendein Alias ist. Weiß ich gerade auch nicht mehr so genau :roll:

Das ganze sieht dann in entwa so aus:

Delphi-Quellcode:
procedure TForm1.ConnectClick(Sender: TObject);
begin
  Client.Address := ip.Text;
  Client.Port := 8181;
  Client.Open;

  Start.Enabled := True;
  Passiert.Lines.Add('Verbunden (' + TimeToStr(Now) + ')');
end;
Ich hoffe du hast bei dem Server den Port auch auf 8181 gestellt ;-)

Wenn du die Verbindungsinformationen wie oben beim Client angibtst sollte es eigentlich laufen. :thumb:

Gruß

Delphi-Narr 25. Jun 2010 21:03

AW: Asynchroner Client Fehler 10049
 
Vielen Dank! Klappt jetzt! Ich habe Vista und die Hilfedatei ist zu alt für mein Betriebssystem :D
Naja, jetzt hats ja funktioniert. Danke!

c4rtm4n 25. Jun 2010 21:06

AW: Asynchroner Client Fehler 10049
 
Hehe,

ich arbeite auf Win7 und meine Delphi Hilfe kannte die Klassen so ^^.

Naja, hauptsache ich konnte dir helfen =)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr.
Seite 1 von 2  1 2      

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