TCP - ip des Senders auslesen



  • Hallo,

    ich habe ein TCP-Problem bei dem ich nicht mehr weiterkomme.

    Ich habe eine TCP-Verbindung zwischen einer Client-Konsolen-Instanz und
    einer Server-Konsolen-Instanz (beide laufen auf dem selben Rechner) aufgebaut
    und lasse die eingehende Nachricht des Clients am Server mit

    rc=recvfrom(sssocket,messageSSbuffer,sizeof(messageSSbuffer),0,(SOCKADDR*)&addr ,&err);
    

    in einen buffer einlesen.
    Jetzt möchte ich gerne die IP-Adresse des Clients speichern, aber wenn ich
    ich aus dem struct addr die "ip-blöcke" auslese

    (addr.sin_addr .S_un .S_un_b .s_b1
    

    bis

    addr.sin_addr .S_un .S_un_b .s_b4)
    

    steht immer nur die Zahl 205 drinnen. In jedem einzelnen Block.
    Kann mir da jemand behilflich sein den Fehler zu finden?

    Vielen Dank

    mfg andi



  • Dieser Thread wurde von Moderator/in davie aus dem Forum C++ in das Forum Linux/Unix verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • mache es in meinem server so:

    SOCKADDR_IN saddr;
    SOCKET * acceptSocket;
    char *IpAlsString;
    int namelen;						
    namelen=sizeof(SOCKADDR_IN);					
    getpeername(*acceptSocket,(SOCKADDR*)&saddr,&namelen);		
    IpAlsString=inet_ntoa(saddr.sin_addr);
    


  • vielen dank.
    funktioniert super

    mfg andi


Anmelden zum Antworten