Chat-Programm und gesperrte Router Ports - Winsock



  • Hallo Leute!

    Entschuldigt schon mal den Thread Titel, aber mir ist nichts besseres eingefallen!

    Ich hab ein neues kleines chat Programm gefunden, hier:
    http://c-worker.ch/winsock/index.php
    gleich das erste: selectchatsrv.cpp und selectchatclient.cpp

    funzt auch so, wie ich es mit gedacht habe, aber leider nur im lokalen LAN 😞

    Sobald ich es aber übers Internet probiere - Game Over!
    Wenn ich connecten versuche, zum Server => 10060 Winsock Error!

    Ich schätze mal, das das daran liegt, das die Router-Ports vom Server und/oder Client nicht offen sind!

    Also googlede ich mal nach UPnP, das verwenden Spiele doch auch, leider fand ich nix, was in C++ oder C passte!

    Ich hab zwar "upnp.h" und "natupnp.h" aber was hilft mir das, wenn ich nicht weiß, was ich genau machen muss!

    Wäre toll, wenn mir wer ne Lösung verraten könnte!

    MFG M



  • WSAETIMEDOUT
    10060

    Connection timed out.

    A connection attempt failed because the connected party did not properly respond after a period of time, or the established connection failed because the connected host has failed to respond.

    so steht es in der msdn
    also ich glaube dein programm findet zwar diesen server aber der sendet keine antwort oder akzeptiert den client nicht wie machst du dass den über dass globale internet anders? wenn du es auf beiden rechner laufen lässt müsste es eigentlich gehen



  • Ja, das "Problem" ist, dass heute i.d.R. alle Rechner hinter einem NAT-Router liegen. Diese kann man nie direkt erreichen, wenn kein Port-Forwarding eingerichtet ist.
    Will man dieses Problem umgehen gibt es min. zwei Möglichkeiten:
    1. Du konfigurierst den Router so, dass er ein Port-Forwarding auf den *richtigen* Rechner macht; das geht z.B. via UPnP, wenn dies beim Router aktiviert ist (ich rate jedem dies zu deaktivieren, da dies Trojanern und anderm geziefer Tür und Tor öffnet (im warsten Sinne des Wortes)).
    2. Du geht über einen Zentralen Server im Internet, welcher von alle Clients direkt erreichbar ist; so macht es z.B. TeamViewer und umgeht somit alle diese Probeleme...



  • Jochen Kalmbach schrieb:

    Ja, das "Problem" ist, dass heute i.d.R. alle Rechner hinter einem NAT-Router liegen. Diese kann man nie direkt erreichen, wenn kein Port-Forwarding eingerichtet ist.
    Will man dieses Problem umgehen gibt es min. zwei Möglichkeiten:
    1. Du konfigurierst den Router so, dass er ein Port-Forwarding auf den *richtigen* Rechner macht; das geht z.B. via UPnP, wenn dies beim Router aktiviert ist (ich rate jedem dies zu deaktivieren, da dies Trojanern und anderm geziefer Tür und Tor öffnet (im warsten Sinne des Wortes)).
    2. Du geht über einen Zentralen Server im Internet, welcher von alle Clients direkt erreichbar ist; so macht es z.B. TeamViewer und umgeht somit alle diese Probeleme...

    jop, das ist das problem ...

    zur 1. möglichkeit:
    jeden sagen, er soll das einstellen ist auch schlecht! gibts nicht irgendeine winapi funktion, mit den man die upnp benutzen kann?

    zu 2:
    nja, die clients müssen ja auch port-forwarding einstellen, da sonst der server die nachrichten nicht zurücksenden kann! diese sind ja auch nur spezielle server, die nachrichten senden (zwar nur an einen host, aber doch senden) und empfangen...

    wenns da ne lösung gäbe, wär super!

    mfg



  • nja, die clients müssen ja auch port-forwarding einstellen, da sonst der server die nachrichten nicht zurücksenden kann!

    falsch



  • http://www.codeproject.com/KB/IP/PortForward.aspx

    ABer wie gesagt: Das ist keine "tragfähige" Lösung...
    Besorg Dir einen Server, der immer erreichbar ist, dann hast Du keine Probleme... und geh am besten über HTTP, dann hast Du noch viel weniger Probleme (z.B. mit Proxies)



  • Jochen Kalmbach schrieb:

    http://www.codeproject.com/KB/IP/PortForward.aspx

    ABer wie gesagt: Das ist keine "tragfähige" Lösung...
    Besorg Dir einen Server, der immer erreichbar ist, dann hast Du keine Probleme... und geh am besten über HTTP, dann hast Du noch viel weniger Probleme (z.B. mit Proxies)

    uff...
    ja stimmt, glaub das wird so nix! aber danke, werd mich mal über das http-zeuchs erkundigen 😉

    THX 🙂

    mfg


Anmelden zum Antworten