Welche IP?? [Socketprogrammierung]



  • hallo,
    ich hab jetz ne kleine anwendung auf dem server-client-prinzip geschrieben; nichts großartiges...und habs auf dem netzwerk probiert (dabei hab ich die ipv4-adresse genommen die man durch eingeben von ipconfig in cmd bekommt); jetz hab ich das ganze auf einem pc probiert der nich mit meinem über netzwerk verbunden is und schon hats nich mehr geklappt; was für eine ip muss ich denn beim client angeben? wie bekomme ich die heraus?



  • Solange sie über Internet verbunden sind und du keinen NAT oder sonstiges verwendest, tippe ich mal auf eine blockierende Firewall (musst dein server-programm mit dem listener-Socket freischalten...). Aber was genau hat das mit C++ zu tun? 🙂



  • also wenn du die TServerSocket und die TClientSocket Komponenten benutzt ist es glaube ich so das die beiden nur innerhalb eines gleichen Netzes funktionieren .
    Übers Internet z.B. wird es nicht funktionieren...

    Aber trotzdem zu den IP`s, dem Client gibst du die IP deines Rechners wo der Server läuft mit dem entsprechenden Port den du festlegs wobei du beim Port drauf achten musst das er unused ist ...

    Ich würde schauen ob die IP von der Netzwerkkarte bekommst is irgend ne 192.168.178.*** .

    hoffe das hilf ein wenig o0

    MfG



  • Decimad schrieb:

    Solange sie über Internet verbunden sind und du keinen NAT oder sonstiges verwendest, tippe ich mal auf eine blockierende Firewall (musst dein server-programm mit dem listener-Socket freischalten...). Aber was genau hat das mit C++ zu tun? 🙂

    Hmm... Ich schalt sie mal aus.. aba normalerweise müsst sies mir gleich sagen, ob sie best. funtkionen weiterblocken soll; außerdem hats ja auf dem netzwerk schon funktioniert..
    ich weiß nich, es is in c++ geschrieben.. ich wusst nich genau wo ichs sons hinschreiben soll

    Streamy schrieb:

    also wenn du die TServerSocket und die TClientSocket Komponenten benutzt ist es glaube ich so das die beiden nur innerhalb eines gleichen Netzes funktionieren .
    Übers Internet z.B. wird es nicht funktionieren...

    Aber trotzdem zu den IP`s, dem Client gibst du die IP deines Rechners wo der Server läuft mit dem entsprechenden Port den du festlegs wobei du beim Port drauf achten musst das er unused ist ...

    Ich würde schauen ob die IP von der Netzwerkkarte bekommst is irgend ne 192.168.178.*** .
    MfG

    also, ich hab ehrlich gesagt was TServerSockets sin... ich habs einfach so wie in meinen buch gemacht.. das mit den ports weiß ich und der müsste auch unused sein, weil sons ein fehler ausgegeben werden würde; japp, die ip die ich immer verwendet hab hat so ausgesehen..



  • Hallo

    Zum einen mal an anfang einige Fragen:

    - kannst der entfernte Rechner deinen Rechner anpingen?
    - Kann er sich mit dem Kommando "telnet [deinRechner] [derPort]" an deinem Server anmelden?
    - Wie sind die 2 Rechner denn dann überhaupt verbunden?

    Wie du die IP herausbekommst kommt ganz drauf an wie die Rechner verbunden sind. Zb:

    |--------|   |--------|   |--------|
    | Server |---| Router |---| Client |
    |--------|   |--------|   |--------|
    

    in diesem Fall musst du dem Router mitteilen das der die Daten zu deinem Server durchlässt.

    Mfg Marco



  • was für eine ip muss ich denn beim client angeben? wie bekomme ich die heraus?

    1. die öffentlich (=im Internet) sichtbare IP deines PCs
      und
    2. so: http://www.whatismyip.com/ (<-- OHNE PROXY draufverbinden!)


  • Marc-O schrieb:

    Hallo

    Zum einen mal an anfang einige Fragen:

    - kannst der entfernte Rechner deinen Rechner anpingen?
    - Kann er sich mit dem Kommando "telnet [deinRechner] [derPort]" an deinem Server anmelden?
    - Wie sind die 2 Rechner denn dann überhaupt verbunden?

    Wie du die IP herausbekommst kommt ganz drauf an wie die Rechner verbunden sind. Zb:

    |--------|   |--------|   |--------|
    | Server |---| Router |---| Client |
    |--------|   |--------|   |--------|
    

    in diesem Fall musst du dem Router mitteilen das der die Daten zu deinem Server durchlässt.

    Mfg Marco

    Nein - du musst den Server nicht pingen können - es reicht, wenn du den Port, auf dem du connectest, auf die LAN-IP des Servers weiterleitest (geht im Router, siehe NAT oder so in deinem Router...)
    Dann brauchst du natürlich noch die WAN-IP des Servers - die gilt ja immer nur 24stunden (wenn der server net gerad in nem rechenzentrum steht, aber da hätte man die problematik mit router ja au net ^^), also brauchst du noch irgendwas, was dir das aller 24h neu kompilieren spart - geht eigtl ganz einfach mit ner kleinen homepage...

    bb



  • hustbaer schrieb:

    was für eine ip muss ich denn beim client angeben? wie bekomme ich die heraus?

    1. die öffentlich (=im Internet) sichtbare IP deines PCs
      und
    2. so: http://www.whatismyip.com/ (<-- OHNE PROXY draufverbinden!)

    ok, also das ist schon mal die ip die ich dann dem client übergebe? wie lange bleibt die denn gleich?

    unskilled schrieb:

    Nein - du musst den Server nicht pingen können - es reicht, wenn du den Port, auf dem du connectest, auf die LAN-IP des Servers weiterleitest (geht im Router, siehe NAT oder so in deinem Router...)
    Dann brauchst du natürlich noch die WAN-IP des Servers - die gilt ja immer nur 24stunden (wenn der server net gerad in nem rechenzentrum steht, aber da hätte man die problematik mit router ja au net ^^), also brauchst du noch irgendwas, was dir das aller 24h neu kompilieren spart - geht eigtl ganz einfach mit ner kleinen homepage...

    also redest du jetz vom weg vom router zum server? ich schau mal nach..
    aba was hat es jetz noch mit der "wan-ip" (wird das so geschrieben?) auf sich?



  • C+++ schrieb:

    also redest du jetz vom weg vom router zum server? ich schau mal nach..
    aba was hat es jetz noch mit der "wan-ip" (wird das so geschrieben?) auf sich?

    Das liest sich so als solltest du, bevor du dich mit der Materie weiter programmiertechnisch versuchst, dir erstmal ein wenig Literatur (im Netz oder auf Papier) zum Thema Netzwerke, IPs, Routing usw. zu Gemüte führen. Wenn dir diese Basics fehlen wirds schwer da ein ordentliches Programm auf die Reihe zu bekommen.



  • eigentlich wollte ich auch nicht so tief in diese materie eindringen; ich brauche nur eine ordentliche server-client-verbindung zw. meinen beiden programmen un über netzwerk hat das bisher auch wunderbar funktioniert...



  • C+++ schrieb:

    eigentlich wollte ich auch nicht so tief in diese materie eindringen; ich brauche nur eine ordentliche server-client-verbindung zw. meinen beiden programmen un über netzwerk hat das bisher auch wunderbar funktioniert...

    und da du es eben nicht kapierst, wenn ijmd dir 5 Sätze schreibt, wirst du nicht drum rumkommen, dir selbst das Wissen anzueignen...

    www.google.de
    -> routing, ip, nat, wan, lan, ...

    gibt ne ganze Menge, was man da wissen kann - dir reicht zwar nen rel. kleiner teil, aber den versteht man wahrscheinlich ziemlich schlecht, wenn man die hintergründe nicht versteht...

    bb



  • Ok...aber was muss ich jetz tun? das was unskilled geschrieben hat??



  • unskilled schrieb:

    Marc-O schrieb:

    Hallo

    Zum einen mal an anfang einige Fragen:

    - kannst der entfernte Rechner deinen Rechner anpingen?
    - Kann er sich mit dem Kommando "telnet [deinRechner] [derPort]" an deinem Server anmelden?
    - Wie sind die 2 Rechner denn dann überhaupt verbunden?

    Wie du die IP herausbekommst kommt ganz drauf an wie die Rechner verbunden sind. Zb:

    |--------|   |--------|   |--------|
    | Server |---| Router |---| Client |
    |--------|   |--------|   |--------|
    

    in diesem Fall musst du dem Router mitteilen das der die Daten zu deinem Server durchlässt.

    Mfg Marco

    Nein - du musst den Server nicht pingen können - es reicht, wenn du den Port, auf dem du connectest, auf die LAN-IP des Servers weiterleitest (geht im Router, siehe NAT oder so in deinem Router...)
    Dann brauchst du natürlich noch die WAN-IP des Servers - die gilt ja immer nur 24stunden (wenn der server net gerad in nem rechenzentrum steht, aber da hätte man die problematik mit router ja au net ^^), also brauchst du noch irgendwas, was dir das aller 24h neu kompilieren spart - geht eigtl ganz einfach mit ner kleinen homepage...

    bb

    Ja ist klar das der Ping nicht gehen muss, aber es ist nunmal die einfachste Art zu testen ob man den entsprechenden Rechner erreichen kann, und des ist ja überhaupt mal des wichtigeste. Und die meisten die Routen-Bauen und keine ahnung haben, schallten alles durch.

    @C+++
    Ja tu genau das was unskilled gesagt hat, lern erstmal etwas über Netzwerke das ist sehr wichtig, weil du sonst nicht weiterkommen wirst, weil du nicht verstehst wie man die Rechner verbinden muss.

    Mfg Marco


Log in to reply