There is some error, so I resend again.

[root@myHOST ~]# ./hostname 172.18.4.49
>><<IP: 172.18.4.49
>><<HOST: (null)
[root@myHOST ~]# ./hostname 172.18.4.48
>><<IP: 172.18.4.48
>><<HOST: localhost

Note: The 172.18.4.49 and 172.18.4.48 are not in /etc/hosts.

 




------------------ Original ------------------
From:  "Joshua Marantz";<jmara...@google.com>;
Send time: Sunday, Feb 1, 2015 10:56 PM
To: "GHui"<ugi...@gmail.com>; 
Cc: "Jeff Trawick"<traw...@gmail.com>; "dev"<dev@apr.apache.org>; 
Subject:  Re: apr_getnameinfo get localhost



I am not an expert in this apr routine, but I think it might help if you gave 
the command-line argument you used when testing your program.

-Josh



On Sun, Feb 1, 2015 at 7:17 AM, GHui <ugi...@gmail.com> wrote:
 
 Is there any good news? Any help will be appreciated.
  
 --GHui
  

 

 ------------------ Original ------------------
  From:  "ugiwgh";<ugi...@gmail.com>;
 Send time: Thursday, Jan 29, 2015 9:03 AM
 To: "Jeff Trawick"<traw...@gmail.com>; 
 Cc: "dev"<dev@apr.apache.org>; 
 Subject:  Re: apr_getnameinfo get localhost

 


   From:  "Jeff Trawick";<traw...@gmail.com>; Send time: Wednesday, Jan 28, 
2015 10:26 PM

   On Wed, Jan 28, 2015 at 2:26 AM, GHui <ugi...@gmail.com> wrote:
 I used the function  apr_getnameinfo to get remote hostname. But it return 
"localhost". 
I don't know why this happend. 
Any help will be appreciated.
--GHui

Please show code, such as where the second parameter to apr_getnameinfo() came 
from.
-- 
  Born in Roswell... married an alien...
http://emptyhammock.com/ 

The code is following.
---------------------------------------------
int main(int argc,char **argv)
{
  if(2!=argc)
  {
    printf("Usage: %s <ip>\n",argv[0]);
    return 1;
  }
  char *remoteip=argv[1];
  printf(">><<IP: %s\n",remoteip);
  apr_initialize();
  apr_pool_t *mp;
  apr_pool_create(&mp,NULL);
  apr_sockaddr_t *sa;
  apr_sockaddr_info_get(&sa,remoteip,APR_INET,10089,0,mp);
  char *hostname=NULL;
  apr_getnameinfo(&hostname,sa,0);
  printf(">><<HOST: %s\n",hostname);

  apr_terminate();
  return 0;
}
--------------------------------------------

Reply via email to