in C++ geschriebenen Server hosten



  • Hi Community,

    Ich bin neu hier und hoffe mal ich habe das richtige Forum erwischt.

    Und zwar habe ich mit C++ einen kleinen Socket - Server programmiert. Dieser funktioniert auch super im lokalen Netzwerk (Sprich auf den Rechnern meiner Familie UND auch im Hamachinetzwerk). Allerdings möchte ich den Server für jeden mit entsprechender Clientanwendung abrufbar machen. Allerdings wie mache ich das?
    Wenn ich meine IP angebe (feste) funktioniert es nicht??

    Ich hoffe ihr könnt mir helfen und vielen Dank dafür

    PS: Der Server würde dann entweder auf einem alten PC oder einem kleinen 1 Platiner



  • Du musst deinem Router sagen dass er Nachrichten an den entsprechenden Port an den Server weiterleiten soll (Stichwort port forwarding).



  • Na das ist doch schon mal was! Danke werde ich gleich ausprobieren



  • cooky451 schrieb:

    Du musst deinem Router sagen dass er Nachrichten an den entsprechenden Port an den Server weiterleiten soll (Stichwort port forwarding).

    Ich hab jetzt den Serverport am Router freigegeben ( Ich benutz Port 4662 für TCP). Leider funktioniert es immer noch nicht



  • Du musst ihn nicht nur freigeben, sondern auch auf deine interne IP weiterleiten. Frag Google mal nach "$DEIN_ROUTER port forwarding".



  • nman schrieb:

    Du musst ihn nicht nur freigeben, sondern auch auf deine interne IP weiterleiten. Frag Google mal nach "$DEIN_ROUTER port forwarding".

    Das habe ich auch gemacht. Liegt es vielleicht an meinem Antivirenprogramm? Glaube ich zwar nicht, da ich auch schon den Webschutz ausgemacht habe. Das Problem ist, dass ich keine bestimmten Portfreigaben machen kann (G Data Antivirus 2013).
    Oder kann es auch sein, dass der Client auch die Portfreigaben braucht? Würde micht jetzt aber stark wundern



  • hoxplus schrieb:

    Das habe ich auch gemacht. Liegt es vielleicht an meinem Antivirenprogramm?

    Keine Ahnung. Aber schalte mal alles ab, was in Richtung Personal Firewall oä. geht. Einfach nur weil das leicht und schnell testbar ist.



  • Ein Freund meinte ich solle beim Server die Router IP angeben. Als ich die nachgeschaut habe, ist mir aufgefallen, dass diese gleich meiner eigenen ist. Und mit dieser startet der Server gar nicht (ich habe vorher immer die lokale Ip genommen habe ich gemerkt)


  • Mod

    Achtung.
    Es gibt unterschiedliche IPs in dieser Situation.

    Bei dir zuhause hast du 2 Geräte: Dein Router und dein PC.

    Auf deinem Router hast du ein Portforwarding eingerichtet, dass den gewünschten Port auf den gewünschten Port auf deinem PC weiter leitet. Dein PC hat eine interne IP entweder 10...* oder 192.168..

    Dein Router hat 2 IPs. Eine interne und eine externe. Die interne ist wieder 10...* oder 192.168..
    Die externe erfährst du hier: http://www.wieistmeineip.at

    Dein Freund muss sich nun auf deine externe IP connecten und dein Router leitet dies über die Portforwarding Regel die du erstellt hast an deinen internen PC weiter. Dein PC selber hat garkeine externe IP - er ist nur über den Router mit dem Internet verbunden.



  • Ok das heißt ich gebe in der Clientsoftware die externe RouterIp an und bei der Serversoftware die Computerinternen mit 129...*

    PS: sry wenn ich mitlerweile ein bisschen nerve aber in dem Gebiet bin ich ein echter newbie


  • Mod

    Ja.

    Wobei der Server nicht unbedingt eine IP Angabe braucht. Je nachdem was du verwendest kannst du auch einfach Interface unabhaengig auf deinen gewuenschten Port listen - ohne IP angabe.



  • Es hat jetzt funktioniert!!
    Danke an alle die mitgeholfen haben.



  • Den Server kannst du normalerweise auf 0.0.0.0 binden.
    Dann lauscht der auf allen IPs.


Anmelden zum Antworten