I don't know what's wrong with your code. If the server was writen by
yourself? If so, you can send a request to ask it to tell your IP. I think
it's the easeat way to do.
Jason
"Dinesh" <[EMAIL PROTECTED]> wrote in message news:15963@palm-dev-forum...
>
> Hi,
>
> How do i get the local ip address of palm when it is connected thru
dialup?
> I tried with gethostname and gethostbyname routines. But both fails.
>
> char* get_ipaddr(char* HostnameOrAddr)
> {
> char* ipAddr;
> struct in_addr *addr;
> struct in_addr inaddr;
> struct hostent *hp;
> inaddr.s_addr = inet_addr(HostnameOrAddr);
> if (inaddr.s_addr == INADDR_NONE)
> {
> // Not an IP address string, assume it is a name
> hp = gethostbyname(HostnameOrAddr);
> }
> else
> {
> // It was a valid IP address string
> hp = gethostbyaddr((const char *)&inaddr,
> sizeof(struct in_addr), AF_INET);
> }
> if (hp != NULL)
> {
> if (hp->h_addr_list[0] != 0)
> addr = (struct in_addr *) (hp->h_addr_list[0]);
> else
> if (hp->h_addr_list[1] != 0)
> addr = (struct in_addr *) (hp->h_addr_list[1]);
> else
> if (hp->h_addr_list[2] != 0)
> addr = (struct in_addr *) (hp->h_addr_list[2]);
> else
> if (hp->h_addr_list[3] != 0)
> addr = (struct in_addr *) (hp->h_addr_list[3]);
> else
> printf("Can't assign IP Address");
> strcpy(ipAddr, inet_ntoa(*addr));
> }
> else
> {
> ipAddr = NULL;
> }
>
> return ipAddr;
>
> }
>
> Thanks in Advance.
>
> --
> Dinesh
>
>
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/