Entwickler-Ecke

Internet / Netzwerk - Fehler bei Winsock


N4wuko - Di 16.10.07 17:49
Titel: Fehler bei Winsock
Also, wenn ich versuche mich mit meinem Client zum Server zu verbinden, kommt immer diese Fehlermeldung

Quelltext
1:
Windows-Socket-Fehler: Ein Ungültiges Argument wurde angegeben (10022), bei API 'connect'                    


Der Code vom Connectbutton ist hier:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.butConnectClick(Sende:tobject);
begin
 ClientSocket1.Host := txtIpAddress.Text;
 ClientSocket1.Port := 1414;
 ClientSocket1.Active := True;
end;


Was ist daran falsch oder muss der Server zwingend an sein?


Narses - Di 16.10.07 17:55
Titel: Re: Fehler bei Winsock
Moin!

user profile iconN4wuko hat folgendes geschrieben:
Also, wenn ich versuche mich mit meinem Client zum Server zu verbinden, kommt immer diese Fehlermeldung

Quelltext
1:
Windows-Socket-Fehler: Ein Ungültiges Argument wurde angegeben (10022), bei API 'connect'                    

[...]
oder muss der Server zwingend an sein?
Ja, der Server muss aktiv sein! Allerdings ist die Fehlermeldung dann normalerweise eine andere (10061 meine ich)... :gruebel:

user profile iconN4wuko hat folgendes geschrieben:
Der Code vom Connectbutton ist hier:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.butConnectClick(Sende:tobject);
begin
 ClientSocket1.Host := txtIpAddress.Text;
 ClientSocket1.Port := 1414;
 ClientSocket1.Active := True;
end;

Was ist daran falsch
Soweit ich sehen kann, nix. :nixweiss:

cu
Narses


N4wuko - Di 16.10.07 18:06

Hat es evtl etwas mit der Version von Delphi zutun?
Ist nen älteres Tutorial und ich benutze Delphi 2007


Narses - Di 16.10.07 18:10

Moin!

user profile iconN4wuko hat folgendes geschrieben:
Hat es evtl etwas mit der Version von Delphi zutun?
Ist nen älteres Tutorial und ich benutze Delphi 2007
Kann ich mir nicht vorstellen, die WSA hat ja die Fehlermeldung erzeugt, das sollte mit der Delphi-Version nix zu tun haben.

Zeig mal mehr Quelltext, so kommen wir nicht weiter. :nixweiss:

cu
Narses


N4wuko - Di 16.10.07 18:13

Hier [http://ripp4r.com/downloads/delphi/Problem_Winsock.zip] der Link.
Und auf die Branch hab ich keinen Zugriff :)


Narses - Di 16.10.07 18:20

Moin!

Schmeiß mal den Code aus deinem letzten Beitrag raus und pack das ganze Projektverzeichnis in ein ZIP (aber ohne die EXE, ist unnütz und frisst Platz), dann bitte in den Anhang (kannst ruhig deinen letzten Beitrag "umbauen"). Vielleicht ist was in den Kompos "verfummelt"? :gruebel:

Du kannst in der Zwischenzeit mal die EXEcutables von hier (am Ende des ersten Beitrags runterladen) [http://www.delphi-library.de/topic_60744.html] ausprobieren. Liefern die auch diesen Fehler, wenn du die Programme startest?

cu
Narses

//EDIT1:
user profile iconN4wuko hat folgendes geschrieben:
Und auf die Branch hab ich keinen Zugriff :)

:oops: Schon wieder... :autsch: hab´s korrigiert... sorry. :?

//EDIT2:
So, hab mir das Projekt mal angesehen. Klar, dass das nicht läuft, es ist nur ein Client, ohne Server kann das nicht funktionieren. Allerdings wundert mich deine Fehlermeldung... :gruebel: Welches OS?


N4wuko - Di 16.10.07 19:57

Den Server hab ich in einem anderem Projekt oder brauch man im Projekt bzw auf der Form den TServersock?
Ach und OS Win XP SP2.


Narses - Di 16.10.07 20:03

Moin!

user profile iconN4wuko hat folgendes geschrieben:
Den Server hab ich in einem anderem Projekt
Dann muss dieser Server online geschaltet sein, sonst gibt es definitiv einen Fehler.

user profile iconN4wuko hat folgendes geschrieben:
oder brauch man im Projekt bzw auf der Form den TServersock?
Nein, natürlich nicht.

user profile iconN4wuko hat folgendes geschrieben:
Ach und OS Win XP SP2.
OK.

Immer noch der Fehler? Dann bitte auch das Serverprojekt hochladen.

Laufen die EXEcutables aus dem Link?

cu
Narses


N4wuko - Di 16.10.07 21:50

Denke mal es liegt daran,dass Delphi/der Client keinen Zugriff aufs Netzwerk haben. Kann man dann nicht iwie nen Fehlercode generieren? So la "On Error goto ****", sry komm aus VB da geht sowas... Gibt es sowas auch in Delphi?


Narses - Di 16.10.07 21:54

Moin!

user profile iconN4wuko hat folgendes geschrieben:
Denke mal es liegt daran,dass Delphi/der Client keinen Zugriff aufs Netzwerk haben.
Tja, meine Glaskugel ist heute abend im Kino, kann ich nix zu sagen... vielleicht wenn sie wieder da ist und noch Bock hat. ;)

user profile iconN4wuko hat folgendes geschrieben:
Kann man dann nicht iwie nen Fehlercode generieren? So la "On Error goto ****",
Du hast doch dem ClientSocket eine OnError-Methode zugewiesen, das ist genau das. :idea:

Ansonsten: siehe Fragen in meinem letzen Beitrag. :nixweiss:

cu
Narses


N4wuko - Di 16.10.07 22:05

Ok es liegt an der Firewall, hatte Delphi keine Rechte gegeben zum Netzwerk :P