TCPIP - Wo welche IP

  • Hallo,
    Ich möchte nun mal einen Server und Client programmieren die via TCP kommunizieren.
    Ich weiß aber nicht welche IP ich wann brauche (@IPAddress1 oder _GetIP()). Kann mir jemand weiterhelfen welche IP ich wann brauche?

    Server:
    TCPConnect() -> @IPAddress1 oder _GetIP() des Clients
    TCPListen() -> @IPAddress1 oder _GetIP()) des Servers

    Client:
    TCPConnect() -> @IPAddress1 oder _GetIP() des Servers
    TCPListen() -> @IPAddress1 oder _GetIP() des Clients

    Oder kann ich nicht einfach auf dem Server bei TCPConnect() die IP die ich von SocketToIP($ConnectedSocket) (siehe Hilfe TCPRecv) bekomme verwenden? Und brauch ich dann überhaupt noch TCPNameToIP()?
    Danke fürs Lesen und Helfen!!

  • Für den Client brauchst die WAN-IP des Servers, also wenn du beides auf deinem Rechner laufen lässt würde auch _GetIP richtig sein. Ansonsten halt mal kurz whatismyip.com mit dem Server aufrufen und diese IP verwenden.
    Für den Server brauchst du die LAN-IP des Rechners, auf dem er läuft. Müsste mit @IpAddress1-4 etc. funktionieren.

    _SockettoIP ist für den Server, damit bekommste die WAN-IP des Clients, welcher dir Pakete gesendet hat.

  • Also wenn ich dich richtig verstehe, muss das dann so aussehen:

    Server:
    TCPConnect() -> SocketToIP()
    TCPListen() -> @IPAddress1 des Servers

    Client:
    TCPConnect() -> _GetIP() des Servers
    TCPListen() -> @IPAddress1 des Clients

    Oder?

  • Ne, ich meine der Server braucht nur @IPAdress1 mit TCPListen, TCPAccept und TCPRecv. TCPConnect brauch er nicht.
    Der Client braucht nur TCPConnect und TCPSend, Wenn der Server antworten soll, kannste auch einfach noch Pakete mitnehmen mit TCPRecv und dem Socket von Connect. Da brauchste kein Listen.

    Ich habs jetzt auch net so im Kopf, aber TCP hat doch Millionen von Beispielen, einfach mal schnell eins überfliegen.

  • Zitat

    Wenn der Server antworten soll, kannste auch einfach noch Pakete mitnehmen mit TCPRecv und dem Socket von Connect. Da brauchste kein Listen.


    Könntest du das genauer erklären? Guck mir mal nen Beispiel an. =P