Autor Beitrag
cemolade
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mi 07.12.11 23:40 
Hey, ich hoffe, das ist nicht eine allzu dumme Frage :P

Ich habe einen TcPListener, Server + Client und ich kann Daten senden. Es funktioniert auf meinem Rechner, wenn beides läuft, denn ich gebe meine Lokale Adresse an.

Doch was, wenn ich es nicht nur in meinem Netzwerk laufen haben will, sondern, dass der Server bei einem Freund läuft und das Clientprogramm bei mir?

Funktioniert es genauso? Muss ich beim Client meine öffentliche Adresse verwenden? Oder einfach nur die Ports verstellen? Etwas frei schalten bei Windows?

ausblenden C#-Quelltext
1:
2:
                IPAddress ipAd = IPAddress.Parse("10.0.0.1");
                TcpListener myList = new TcpListener(ipAd, 8001);


Edit: Ich lese gerade, dass WCF dazu gut geeignet ist. Ich kenne mich damit noch gar nicht aus. Sollte ich mir die Tcp Klasse noch ansehen oder sollte ich gleich zu WCF?

Edit2: Habe endlich raus gefunden, dass ich Port Forwarding einstellen muss. Muss ich beim Server die lokale IP nehmen und beim Client die öffentliche des Servers?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 08.12.11 07:32 
user profile iconcemolade hat folgendes geschrieben Zum zitierten Posting springen:
Edit2: Habe endlich raus gefunden, dass ich Port Forwarding einstellen muss. Muss ich beim Server die lokale IP nehmen und beim Client die öffentliche des Servers?
Lokal heißt lokal, die Adresse existiert nicht im Internet, sondern nur im lokalen Netzwerk. Du musst die IP nehmen, die nach außen verwendet wird, eben die öffentliche des Routers.
cemolade Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Do 08.12.11 23:40 
Wenn ich dem TcpListener meine öffentliche Adresse gebe (also die, wenn ich zB auf whatismyipaddress.com gehe), komme ich in den catch Teil mit der Fehlermeldung:
at System.Net.Sockets.Socket.DoBind(Endpoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.TcpListener.Start(Int32 backlog)
at System.Net.Sockets.TcpListener.Start()
at server.Program.Main(String[] args) in C:\Users...Pfad vom Projekt..\Program.cs:line 27

Und Line 27 ist der, wo ich logischerweise den TcpListener starte.
Was mach ich falsch? Wenn ich meine lokale IP verwende, hab ich keine Probleme. Muss ich irgendwie eine statische Adresse erstellen? Wenn ja, wo kann ich das machen? Was muss ich beachten?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 09.12.11 00:05 
Ah, tut mir leid, hab mich verlesen. Der Server muss die lokale nutzen, ja. :oops:
Das wird ja vom Router dahin weitergeleitet.
cemolade Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 09.12.11 18:19 
Okay, also beim Server habe ich nun die lokale Adresse wie vorhin. Ich habe bei meinem Router Portforwarding aktiviert. TCP und UDP für Port 7777.

So sieht es aus:
TCP 7777 -> 7777
UDP 7777 -> 7777

Bei Port-Triggering habe ich für eingehenden und ausgehenden Verkehr für TCP und UDP auch 7777 geöffnet.

also müsste ich theoretisch beim client einfach meine öffentliche Adresse eingeben mit Port 7777 und er sollte meinen Router erreichen, und mein Router würde es weiter an den Server(PC) schicken.

Kann mir wer helfen? was mache ich falsch?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 10.12.11 03:00 
Du hast es auch wirklich von draußen probiert (weil von intern lässt sich das oft nicht testen, je nach Router)? Eigentlich ist die Porteinrichtung bei den kleinen Standardroutern so simpel, dass man da kaum etwas falsch machen kann. Meistens blockiert eher die Firewall auf dem Zielrechner.
cemolade Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: So 11.12.11 00:52 
Ja auch von außen getestet. Mein cousin hat den gleichen Router wie ich und wenn er den Server spielt hat er das selbe Problem, obwohl er es auch so konfiguriert hat.

Bei einem anderen Freund funktionierts wenn er den Server spielt mit Port-Forwarding :)
Jetzt weiß ich wenigstens woran es genau liegt, ich werde am Montag mal bei meinem Provider anrufen und fragen

Edit: danke für die Antworten :) Der Thread kann geclosed werden, weil mit programmieren hat das ja nichts mehr zu tun^^
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 11.12.11 06:39 
user profile iconcemolade hat folgendes geschrieben Zum zitierten Posting springen:
Jetzt weiß ich wenigstens woran es genau liegt, ich werde am Montag mal bei meinem Provider anrufen und fragen
Der wird dir da kaum helfen können, da das ein rein lokales Konfigurationsproblem bei dir ist. ;-)
cemolade Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: So 11.12.11 12:03 
Naja, ich habe den Router von meinem Provider bekommen und der wird mich mit dem technischen Dienst verbinden :)

Ich mache bestimmt was beim konfigurieren des Routers falsch, aber der Fehler kann gar nicht so offensichtlich sein, wenn mein Cousin das selbe Problem hat.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 11.12.11 12:10 
Du kannst ja einen Screenshot deiner Einstellung zeigen ;-)
cemolade Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mi 14.12.11 19:15 
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 16.12.11 18:15 
Was hast du denn für einen seltsamen internen Adressbereich? Bist du wirklich sicher, dass 10.0.0.1 die IP deines lokalen PCs ist? :gruebel:
cemolade Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Sa 17.12.11 13:08 
Jap :)

mit 10.0.0.138 komm ich auf die Routereinstellungen

img713.imageshack.us/img713/3827/cmdm.png