Ich denke ich habe den Fehler gefunden.
Die Anweisung:
serv_adr.sin_addr.s_addr = htonl (INADDR_ANY);
setzt die Adresse auf einen beliebigen Wert. Dadurch schlägt der Aufruf von gethostbyaddr() fehl. Da ich sowieso nur die Infos vom localhost brauche benutze ich gethostent().