How to get a fqn hostname
Jan H. Schrewe
jschrewe at mpg.goe.ni.schule.de
Mon Oct 8 14:51:31 BST 2001
Werner Modenbach wrote:
> On Montag, 8. Oktober 2001 14:12 Jan H. Schrewe wrote / Am Montag, 8. Oktober
> 2001 14:12 schrieb Jan H. Schrewe:
>
>>Werner Modenbach wrote:
>>
>>>On Montag, 8. Oktober 2001 13:15 Jan H. Schrewe wrote / Am Montag, 8.
>>>Oktober
>>>
>>>2001 13:15 schrieb Jan H. Schrewe:
>>>
>>>>Werner Modenbach wrote:
>>>>
>>>>>First of all sorry for the OT question.
>>>>>
>>>>>In programming a server using Qt classes I need to know the
>>>>>fqn hostname of the system.
>>>>>The QSocket method address() allways returns "0.0.0.0".
>>>>>Going to gethostname(...) and getdomainname(...) delivers domainname "".
>>>>>uname(...) also returns an empty domainname.
>>>>>
>>>>>Any hints? I've no idea where else to look for a solution.
>>>>>
>>>>>Thanks.
>>>>>
>>>>>- Werner -
>>>>>
>>>>try gethostbyname(3) the function is called gethostbyaddress. I don't
>>>>really know if this is the fqdn but it should be a starting point
>>>>
>>>For this to work I need to know the numerical address which I also don't
>>>have.
>>>
>>>- Werner -
>>>
>>OK,
>>
>>the man-page of dnsdomainname (a shell command) says:
>>
>>"Technically: The FQDN is the name gethostbyname(2) returns
>>for the host name returned by gethostname(2). The DNS
>>domain name is the part after the first dot."
>>
>>I don't know if gethostname(...) returns works for you, but this does sound
>>like it shuold work (although never tried it :-)
>>
>>
> My fqn is "werner.alc.de"
> gethostname(...) gives "werner"
> getdomainname(...) gives ""
Try gethostbyname(3) after you called gethostname.
> The shell command 'dnsdomainname' gives "alc.de" but there is no library
> function like that.
>
> - Werner -
>
>
Here is a small prgram that should help you (for me it works fine):
#include <unistd.h>
#include <netdb.h>
int main () {
char hostname[100];
int length = 100;
struct hostent *he;
gethostname( hostname, length );
printf( "Hostname: %s\n", hostname );
he = gethostbyname( hostname );
printf( "FQN-Hostname: %s\n", he->h_name );
}
hope that helps
jan
-
to unsubscribe from this list send an email to kdevelop-request at kdevelop.org with the following body:
unsubscribe »your-email-address«
More information about the KDevelop
mailing list