| Autor |
Beitrag |
ich1506
      
Beiträge: 49
Win XP, Win 98, Win 2000, Eisfair
Delphi 5 Enterp
|
Verfasst: Sa 29.04.06 11:23
Hallo!
Ich arbeite mit Delphi5 und Win XP schon eine Weile. Nun wollte ich mich etwas mit dem
Stoff Netzwerkprogrammierung auseinanderstetzen. Hab mich informiert...
Wenn ich ein TClientSocket oder TServerSocket auf mein Projekt plaziere ist noch alles ok, doch wenn ich den Socket aktiviere oder mit Active=true starte dann gibt es immer, nicht nur bei selbst erstellten Projekten, eine Fehlermeldung:
Fehler: Socket konnte nicht erstellt werden.
Bisher konnte ich nicht herausfinden woran es liegt. Bitte helft mir!!
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 29.04.06 11:26
Moin und  im Forum!
Deine Frage bzw. dein Problem ist etwas dürftig umschrieben. Zeig doch mal deinen Code, dann kann man auch besser was dazu sagen.
Ansonsten schau mal hier, das Tut sollte für Anfänger geeignet sein.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
ich1506 
      
Beiträge: 49
Win XP, Win 98, Win 2000, Eisfair
Delphi 5 Enterp
|
Verfasst: Sa 29.04.06 11:39
Danke für die nette Begrüßung!
Tja Code brauch ich für den Fehler eigentlich nicht.
Ich nehm ein neues Projekt mach da mein TClientSocket rauf und ändere folgendes im Objectbrowser:
Active:=true
Adress:='192.168.0.6' (für mein Netzwerk)
Port:=1024 (hab ich aus einem andere Projekt übernommen)
dann F9 zum starten und schon kommt der Fehler... 
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 29.04.06 11:45
Moin!
ich1506 hat folgendes geschrieben: | | Tja Code brauch ich für den Fehler eigentlich nicht. |
Aber wir schon...  Denn wenn du gar nicht merkst, dass du einen Fehler machst, merken wir das ja vielleicht.
ich1506 hat folgendes geschrieben: | Ich nehm ein neues Projekt mach da mein TClientSocket rauf und ändere folgendes im Objectbrowser:
Active:=true
Adress:='192.168.0.6' (für mein Netzwerk)
Port:=1024 (hab ich aus einem andere Projekt übernommen)
dann F9 zum starten und schon kommt der Fehler...  |
Klar, der Client-Socket versucht eine Verbindung aufzubauen, aber da läuft möglicherweise ja gar kein Serverdienst. Du darfst erst dann .Active auf TRUE setzen, wenn du (einigermaßen) sicher bist, dass da auch am anderen Ende ein Serverdienst (TServerSocket) auf eine Verbindung wartet - sonst gibt es völlig zu Recht einen Fehler.
Nochwas: Du solltest für eigene Anwendungen Portnummern (deutlich) über 1024 verwenden, am besten 5-stellige.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
ich1506 
      
Beiträge: 49
Win XP, Win 98, Win 2000, Eisfair
Delphi 5 Enterp
|
Verfasst: Sa 29.04.06 11:59
Ok, das leuchtet ein, aber das passiert ja auch wenn ich einen Server plaziere und wie im Tut mit
ServerSocket1.Port := 10210; // (zB)
ServerSocket1.Open;
starte.
@narses:
Welchen Portbereich würdes du empfehlen?
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 29.04.06 12:05
Moin!
Pack mal dein (Beispiel-)Projekt (ohne die EXE) in ein ZIP und hier in den Anhang, möchte mal reinsehen, was du da tust.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Fighter#1
      
Beiträge: 787
Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
|
Verfasst: Sa 29.04.06 12:24
Active:=True
Immer erst dann aktivieren, wenn Port und so angegeben sind, so:
Delphi-Quelltext 1: 2: 3:
| ClientSocket1.Port:=844; ClientSocket1.Host:='ipadresse'; ClientSocket1.active:=True; |
_________________ Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
|
|
ich1506 
      
Beiträge: 49
Win XP, Win 98, Win 2000, Eisfair
Delphi 5 Enterp
|
Verfasst: Sa 29.04.06 12:35
Hier mal Mein Project als zip:
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 29.04.06 13:01
Moin!
Bist du sicher, dass es die IP 192.168.0.6 in deinem Netz (aktuell) gibt?
Probier das mal so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| procedure TForm1.Button1Click(Sender: TObject); begin ServerSocket1.Port := 10201; ServerSocket1.Open; end;
procedure TForm1.FormDestroy(Sender: TObject); begin if ServerSocket1.Active then ServerSocket1.Close; end;
procedure TForm1.Button1Click(Sender: TObject); begin ClientSocket1.Port := 10201; ClientSocket1.Host := 'localhost'; ClientSocket1.Open; end;
procedure TForm1.FormDestroy(Sender: TObject); begin if ClientSocket1.Active then ClientSocket1.Close; end; |
Dann erst das Serverprogramm starten und Button anklicken, dann den Client starten und den Button anklicken. Darf dann so keinen Fehler mehr geben.
Du hattest in deinen Tests die Sockets nicht wieder geschlossen, unschön.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
ich1506 
      
Beiträge: 49
Win XP, Win 98, Win 2000, Eisfair
Delphi 5 Enterp
|
Verfasst: Sa 29.04.06 13:02
Bitte sagt mir, ob es bei euch läuft, dann weiß ich ob ich nur zu dusselig bin eine Komponente aufs Fenster zu ziehen, oder ob es an etwas Anderem liegt.
|
|
Fighter#1
      
Beiträge: 787
Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
|
Verfasst: Sa 29.04.06 13:03
_________________ Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 29.04.06 13:15
Moin!
ich1506 hat folgendes geschrieben: | | Bitte sagt mir, ob es bei euch läuft, dann weiß ich ob ich nur zu dusselig bin eine Komponente aufs Fenster zu ziehen, oder ob es an etwas Anderem liegt. |
Klar, wenn ich eine Adresse eingeben, die´s in meinem Netz gibt, läuft´s auch.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
ich1506 
      
Beiträge: 49
Win XP, Win 98, Win 2000, Eisfair
Delphi 5 Enterp
|
Verfasst: Sa 29.04.06 13:23
Das Problem bleibt!
Selbst wenn ich den Server plaziere kommt der Fehler...
Und 1. das ist meine Ip-Adresse und 2. Wenn ich den Namen hin schreibe, funktioniert es auch nicht. (Im richtigen Feld  )
Wenn mein Projekt bei Narses läuft, dann liegt es wohl an etwas anderem...

|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 29.04.06 13:26
Moin!
Firewall/InternetSecurity/sonstigesGeraffel mal ausgemacht?
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
ich1506 
      
Beiträge: 49
Win XP, Win 98, Win 2000, Eisfair
Delphi 5 Enterp
|
Verfasst: Sa 29.04.06 13:38
Narses hat folgendes geschrieben: |
Firewall/InternetSecurity/sonstigesGeraffel mal ausgemacht?
|
Ja, dürfte eigentlich nichts hinderliches mehr sein...
|
|
ich1506 
      
Beiträge: 49
Win XP, Win 98, Win 2000, Eisfair
Delphi 5 Enterp
|
Verfasst: Sa 29.04.06 14:26
Ersteinmal an alle vielen Dank!
Ich weiß zwar nicht warum es bei mir nicht funktioniert, aber naja...
Ich hab Delphi mal auf einem Win 2000 PC installiert und ... keine Fehlermeldung  *grr*
Dort funktioniert es, nur auf meinem Pc wieder mal nicht.
Vielen Dank! 
|
|
ich1506 
      
Beiträge: 49
Win XP, Win 98, Win 2000, Eisfair
Delphi 5 Enterp
|
Verfasst: Sa 01.07.06 20:32
ich hab dann Windows neu installiert und was war?
Alles funktioniert!!! 
|
|