Autor Beitrag
Paddymann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58


Delphi 5 Professional
BeitragVerfasst: Do 01.06.06 19:24 
Hi!
Ich möchte einen Chat programmieren. Dazu habe ich erstmal ganz banal angefangen wie man unten sieht(weil ich Probleme erwartet habe). Im Netzwerk funktionieren Server und Client prima (Label1 wird zu Connected). Wenn ich das jetztz allerdings über das Internet probiere bekomme ich den Fehler "Asynchroner Socket-Fehler 10061". Ich muss dazu sagen, dass ich hinter einem Router "sitze". Mit whatismyip.com habe ich meine IP rausgefunden und dann in das Edit-Feld eingetragen. Nachdem das nicht funktioiert hat hab ich in meinem Router die Ports geforwardet und den Dienst auch im DMZ eingetragen - aber der selbe Fehler. Kennt wer ne Lösung?

Hier mal noch der Code:
Client:
ausblenden 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:
27:
28:
29:
30:
const
  Server_Port = 12345;
  
type
  TForm1 = class(TForm)
    Button1: TButton;
    ClientSocket1: TClientSocket;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Port := Server_Port;
ClientSocket1.Host := Edit1.Text;
ClientSocket1.Open;
end;

end.


Und der Server:
ausblenden volle Höhe 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:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
const
  Server_Port = 12345;
  
type
  TForm1 = class(TForm)
    ServerSocket1: TServerSocket;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure ServerSocket1ClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket1.Port := Server_Port;
ServerSocket1.Open;
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Label1.Caption := 'Connected';
end;

end.


danke für eure hilfe und mfg
Patti


Moderiert von user profile iconraziel: Topic aus Sonstiges (Delphi) verschoben am Do 01.06.2006 um 21:32
The Who
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 25

Win XP Prof
D3 Prof, D8, D7E
BeitragVerfasst: Do 01.06.06 20:03 
Geht der Server vieleicht per Router rein ?

Also ich meine ob vieleicht ne Firewall die ganze Sache blockt ?
Born-to-Frag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1094

Win XP SP2, Win 2000 SP4
Delphi 7, 2k5
BeitragVerfasst: Do 01.06.06 20:28 
Bei nem Router würde ich eher auf Portforwarding tippen ;)

_________________
Theorie ist wenn man alles weiß, aber nichts funktioniert. Praxis ist wenn alles funktioniert, aber niemand weiß warum.
Microsoft vereint Theorie und Praxis: Nichts funktioniert und niemand weiß warum.
Paddymann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58


Delphi 5 Professional
BeitragVerfasst: Do 01.06.06 20:42 
Ja die Firewall hab ich alle IPs durchgeben lassen und Portforwarding hab ich für Pot 12345 ja auch schon gemacht...
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 01.06.06 21:00 
Moin!

Zunächst mal dieser Vorschlag im Server-Code:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  Label1.Caption := Socket.RemoteAddress;
end;

Damit siehst du die IP des Clients, der da einen Connect geschafft hat. ;)

Dann zu dem Problem: Was genau versuchst du denn da? Du startest den Server und jemand, der nicht in deinem LAN ist (sondern an seinem PC zuhause sitzt) versucht einen Connect? Oder nimmst du den Client und gibst einfach nur die öffentliche IP deines Routers ein, um einen Internet-Connect zu simulieren?

Ersteres sollte klappen, wenn dein Portforwarding korrekt ist (geht nur wirklich gut mit festen IP-Adressen, übrigens), letzteres sollte in den meisten Fällen nicht klappen, weil das Router OS das vermutlich filtert - was dann so erstmal OK ist.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.


Zuletzt bearbeitet von Narses am Mo 18.02.08 02:46, insgesamt 1-mal bearbeitet
Born-to-Frag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1094

Win XP SP2, Win 2000 SP4
Delphi 7, 2k5
BeitragVerfasst: Do 01.06.06 21:07 
Oder sagst du zu deinem Freund der bei sich zu Hause ist, dass der zu 192.168.xxx.xxx connecten soll? :D

_________________
Theorie ist wenn man alles weiß, aber nichts funktioniert. Praxis ist wenn alles funktioniert, aber niemand weiß warum.
Microsoft vereint Theorie und Praxis: Nichts funktioniert und niemand weiß warum.
Paddymann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58


Delphi 5 Professional
BeitragVerfasst: Do 01.06.06 21:10 
Danke für die Antwort Narses.

Zitat:

Dann zu dem Problem: Was genau versuchst du denn da? Du startest den Server und jemand, der nicht in deinem LAN ist (sondern an seinem PC zuhause sitzt) versucht einen Connect?


ja genau das versuche ich. Halt nicht im LAN sondern über das Internet.

Zitat:

Oder nimmst du den Client und gibst einfach nur die öffentliche IP deines Routers ein, um einen Internet-Connect zu simulieren?

Stimmt ebenfalls wieder. Ich lasse Server und Client auf meinem PC laufen. Habe das aber auch schon "richtig" veruscht, dass funktioniert ebenfalls nicht.

Mein Port-Forwarding sollte richtig sein. Habe Ein- und Ausgehende verbindungen geforwardet.
Meinst du ich sollte mir mit DynDNS erstmal eine "feste" IP Addresse holen und, dass dann nochmal von aussen probieren, Oder wie?

thx und mfg
Patti

//Edit: @ Born To Frag: Nein ich versuche auch nicht die LAN ip zu connecten!


Zuletzt bearbeitet von Paddymann am Do 01.06.06 21:21, insgesamt 1-mal bearbeitet
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 01.06.06 21:20 
Moin!

user profile iconPaddymann hat folgendes geschrieben:
ja genau das versuche ich. Halt nicht im LAN sondern über das Internet.

OK. Das du die korrekte Adresse verwendest unterstelle ich mal (also du an deinem Rechner stellst diese per www.whatismyip.com fest und gibst sie deinem Freund, der diese in das Programm eingibt und damit einen Connect versucht).

user profile iconPaddymann hat folgendes geschrieben:
Ich lasse Server und Client auf meinem PC laufen.

Dann mußt du "localhost" und dein Freund die öffentliche IP des Routers verwenden; davon gehe ich jetzt mal aus, das ihr das auch so macht.

user profile iconPaddymann hat folgendes geschrieben:
Habe das aber auch schon "richtig" veruscht, dass funktioniert ebenfalls nicht.

Was genau möchtest du mir damit sagen... :gruebel: ;)

user profile iconPaddymann hat folgendes geschrieben:
Mein Port-Forwarding sollte richtig sein. Habe Ein- und Ausgehende verbindungen geforwardet.

Ich fürchte leider, irgendwas stimmt mit dem Portforwarding trotzdem noch nicht. Was für ein Router? Beschreib mal ganz genau, was du da gemacht hast, mit den verwendeten Adressen.

user profile iconPaddymann hat folgendes geschrieben:
Meinst du ich sollte mir mit DynDNS erstmal eine "feste" IP Addresse holen und, dass dann nochmal von aussen probieren, Oder wie?

Nein, das meinte ich nicht; der DNS-Alias ist zwar eine gute Idee, weil er einiges leichter macht, aber das muss auch ohne gehen. Mit festen IPs meine ich die in deinem LAN.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.


Zuletzt bearbeitet von Narses am Mo 18.02.08 02:46, insgesamt 1-mal bearbeitet
Paddymann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58


Delphi 5 Professional
BeitragVerfasst: Do 01.06.06 21:26 
Es tut mir leid Narses, dass du dir noch soviel arbeit gemacht hast aber du scheinst recht gehabt zu haben.
Habe mitm Kumpel nur die erste Port-Forwarding Einstellung getestet und die ging ncith. Spätere Einstellungen habe ich von meinen PC allein aus getetstet. Jetztz habe ich das noch mal mitm Kumpel probiert und du hattest recht das OS scheint das geblockt zu haben.
Es funktioniert jetztz.
Danke
mfg
patti
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 01.06.06 21:32 
Moin!

Fein, wenn´s funktioniert. ;)

Markierst du den Thread dann noch entsprechend, wenn dein Problem gelöst ist? Danke.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
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
BeitragVerfasst: Fr 02.06.06 11:59 
Ich hab auch noch eine Frage, bei meinem Netgear Router sind die Ports für mein Programm, zu testzwecken ein simpler Chat sowohl eingehend, alsauch ausgehend freigegeben.
Was muss ich machn, damit das jetzt auch im I-Net tut.
Klar meine ip hab ich servergestartet, Clientgestartet, nix!
Das OnConnect Ereignis des Servers wird nicht gestartet.
:-(
Auch funktioniert die Chan-Funktion, wie zu erwarten, des ClientProgramms nicht.
Der Client bring auch den 10061 Error (Server nicht gefunden)
Also wie gesagt Ports sind freigeschaltet, was muss ich zusätzlich machen?

_________________
Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 02.06.06 12:32 
Hallo Fighter,

bitte erstelle für jede deiner Fragen ein separates Topic, da die Diskussion mehrerer Fragen in einem Topic für gewöhnlich für Verwirrung und Durcheinander sorgt. Insbesondere, wenn es nicht dein eigenes Topic ist! Daher:

*geschlossen*


Viele Grüße,
Peter
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.