Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    Oi,

    Qual funcao que eu uso pra descobrir meu ip em um programa em C? eu tentei usar o gethostbyname("localhost") mas ele vai retornar uma lista de varios 127.0.0.1!!!!

    Uma outra forma poderia ser pegar o hostname com um getenv() e descobrir o IP apartir do nome. Tambem dava pra pegar das configuracoes do linux.

    Mas o problema eh q eu quero q meu software seja portavel e q nao precise funcionar soh em linux!

    Alguem tem alguma ideia?


    Obrigado!

  2. de cabeca eu num vo lembrar, dps preciso olha num programa q eu tinha feito, mas acho que com a include net.h tem uma funcao q faz isso, o problema vai ser vc determinar qual ip pegar no caso de ter 2 ou mais interfaces



  3. #3
    eu procurei aqui e nao achei, o unico net.h q tem eh /usr/include/linux/net.h

    o meu programa ta funcionando mas eu pego o nome pelo getenv() e descubro o ip por gethostbyname()

    se tu tiver um tempinho da uma olhada ai no teu programa pra ver como tu fez!


    obrigado!

  4. #4
    k4z1nh0
    ae kras blz?
    aki ta um exemplo nao tao especifico mas utiliza o comando do sistema ifconfig.
    Código :
    #include<stdio.h>
    #include<stdlib.h>
    /******************************************/
    main(){
            printf("\n***************************\n");
            system("ifconfig");
            printf("\n***************************\n");
            return(0);
    }
    basta pesquisar o resultado e achar o ip.

    Espero ter dado uma auxiliada.



  5. demoro mas achei.... o meu eskema nao pega o endereco em si, mas acho que q com ele vc consegue descobrir:

    esse eh o codigo:
    Código :
            /* Criando Socket de Conexao */
            if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0 )
            {
                    grava_log("Erro ao criar socket");
                    exit(errno);
            }
     
            /* Configurando a Estrutura do Socket */
            bzero(&self, sizeof(self));
            self.sin_family = AF_INET;
            self.sin_port = htons(MY_PORT);
            self.sin_addr.s_addr = INADDR_ANY;
     
            /* Assumindo a Porta do Servidor */
            if ( bind(sockfd, (struct sockaddr*)&self, sizeof(self)) != 0 )
            {
                    grava_log("Erro ao Assumir a porta do Servidor");
                    exit(errno);
            }
     
            /* Ouvindo na Porta */
            if ( listen(sockfd, 20) != 0 )
            {
                    grava_log("Erro ao Ouvir na Porta");
                    exit(errno);
            }
    Esses são os includes:
    Código :
    #include <stdlib.h>
    #include <unistd.h>
    #include <stdio.h>
    #include <errno.h>
    #include <sys/wait.h>
    #include <sys/socket.h>
    #include <resolv.h>
    #include <arpa/inet.h>
    #include <errno.h>
    #include <pthread.h>
    #include <string.h>
     
    #define MY_PORT         9999 
    #define MAXBUF          1024






Tópicos Similares

  1. Como descobrir o Ip de um Acces Point?
    Por crisduarte no fórum Redes
    Respostas: 4
    Último Post: 28-04-2005, 18:12
  2. Como remover meu ip da lista do http://dsbl.org/...
    Por goku no fórum Servidores de Rede
    Respostas: 7
    Último Post: 03-02-2005, 15:41
  3. Como descobrir meu ip na internet?
    Por nozey no fórum Servidores de Rede
    Respostas: 7
    Último Post: 08-07-2004, 09:18
  4. Descobrir meu IP dinamico
    Por Rods no fórum Servidores de Rede
    Respostas: 6
    Último Post: 10-11-2003, 13:38
  5. como deixar meu UebiMiau em portugues...
    Por bouncer no fórum Servidores de Rede
    Respostas: 1
    Último Post: 19-08-2003, 17:49

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L