Hallo Forum,
ich möchte für ein bestehendes Projekt, nun einen eigenen Application-Server schreiben.
Ich kenne mich schon etwas in WCF aus und hab schon ein paar Projekte damit gemacht.
Bisher lieft das allerdings immer nur im Netzwerk.
Jetzt würde ich gerne eine Verbindung zwischen meine Windows-Server und meinem Client über das Internet herstellen.
Leider fehlt mir komplett der Ansatz.
So wie es lokal funktioniert, kommt über das Internet immer nur eine EndpointNotFoundException.
Ich hab leider keine Demo-Apps oder Tuts für die Kommunikation über das Internet gefunden.
Kann mir jemand weiterhelfen?
Grüße KY
„Wenn etwas schief gehen kann, dann wird es schief gehen. Und wenn es mehr als eine Möglichkeit gibt, dass etwas
schief geht, so wird das schief gehen, was den größten Schaden anrichtet“ (Murphy)
ky-programming.de
Hast du denn auf deinem Router oder ähnlichem die Weiterleitung zum "Server" eingerichtet?
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |
Hallo,
nein habe ich nicht, werde ich auch nicht machen,
da die Software für den User möglichst einfach sein soll.
Es muss ja irgendwie anders auch gehen. Andere Programme schaffen das ja auch 😃
Gruß KY
„Wenn etwas schief gehen kann, dann wird es schief gehen. Und wenn es mehr als eine Möglichkeit gibt, dass etwas
schief geht, so wird das schief gehen, was den größten Schaden anrichtet“ (Murphy)
ky-programming.de
Hallo,
Es muss ja irgendwie anders auch gehen.
Nein. Wenn der Router eingehende Anfragen nicht auf die Maschine weiterleitet, die den Dienst anbietet: keine Chance.
Andere Programme schaffen das ja auch 😃
Zum Beispiel?
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Zum Beispiel?
Er meint z.B. Programme wie TeamViewer.
Allerdings ist das konzept dort ein völlig anderes da es einen weiteren "Vermittlungs"-Server geht. Wenn du den WCF Dienst direkt anbieten möchtest dann kommst du an einem Port-Forwarding nicht vorbei.
Was meinst du mit Vermittlungs-Server?
Also ich hatte es schon so gedacht, das jeder Client nur mit dem Server kommuniziert.
Gruß KY
„Wenn etwas schief gehen kann, dann wird es schief gehen. Und wenn es mehr als eine Möglichkeit gibt, dass etwas
schief geht, so wird das schief gehen, was den größten Schaden anrichtet“ (Murphy)
ky-programming.de
Hallo ky_fr34k,
Was meinst du mit Vermittlungs-Server?
Also ich hatte es schon so gedacht, das jeder Client nur mit dem Server kommuniziert.
Bei TeamViewer ist ein zentraler Server über welchem die Kommunikation abläuft.
Wenn du bei dir einen WCF Server laufen lassen willst, dann musst du PortForwarding am Router einstellen sonst hast du keine Chance.
Bei den Clients musst du am Router nix einstellen aber überall wo ein Server steht kommst du um das PortForwarding nicht rum
Gruss
MIchael
Achso, jetzt verstehe ich was gemeint war.
Der WCF-Server läuft nicht bei mir, sondern auf einem Server bei meinem Hoster.
„Wenn etwas schief gehen kann, dann wird es schief gehen. Und wenn es mehr als eine Möglichkeit gibt, dass etwas
schief geht, so wird das schief gehen, was den größten Schaden anrichtet“ (Murphy)
ky-programming.de
huhu,
ja dann^^
dann ist der Port den dein Server benutzt (z.B. 8080) vermutlich einfach nicht in der Firewall deines Hosters für deinen Server freigeschalten.
Das ist im Endeffekt genau das gleiche wie ein "Port Forwarding am Router" - nur dass ein DSL-Router eben mini-Firewall + Nat-Router spielt. An einer anständigen Firewall ist das auch alles einzustellen, nur mit mehr Einstellungs- und Filtermöglichkeiten.
Ergo musst Du deinen Hoster bitten, die benötigten Ports freizuschalten. Ausserdem bekommst du das Problem vermutlich jedesmal, wenn jemand aus einem größeren Netzwerk (z.B. Firmennetzwerk) versucht, auf deinen Service zuzugreifen (da ist dann ein Zugriff auf "deinen" Port in der Regel erstmal nicht erlaubt. Wenn Du http-Binding (auf Port 80!) anbietest, dann geht es meistens).
TeamViewer, Skype etc. umgehen das Probelm, indem sie die Verbindungen über Port 80 (http) oder 443 (https) leiten. Der Vermittlungsserver von dem oben gesprochen wurde hat damit aber weniger zu tun. Der kümmert sich nur drum, dass sich die Partner finden (er gibt die IP-Adressen der Partner dem jeweiligen anderen).
😃
Xynratron
Herr, schmeiss Hirn vom Himmel - Autsch!
Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.