1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Resolver Warning em C,com Sockets - Funcao connect

Discussão em 'Programação' iniciada por SiR_vIRciado, 1 de Dezembro de 2008. (Respostas: 4; Visualizações: 738)

  1. SiR_vIRciado

    SiR_vIRciado What is folding?

    Boas!
    Tenho o seguinte warning:

    cliente_teste.c:48: warning: passing argument 2 of ‘connect’ from incompatible pointer type

    A linha que corresponde este código é a seguinte:

    Código:
    if (connect(sockfd,&serv_addr,sizeof(serv_addr)) < 0)
    error("ERROR connecting");
    
    Os defines e includes que tenho são:

    Código:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <strings.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <netdb.h>
    #define DIM 256
    
    E as váriaveis que declarei são:

    Código:
    int sockfd, n;
    struct sockaddr_in serv_addr;
    struct hostent *server;
    char buffer[DIM];
    
    Alguem percebe o porquê do warning?

    Obrigado
    Cumprimentos
     
    Última edição pelo moderador: 8 de Dezembro de 2008
  2. AliFromCairo

    AliFromCairo Power Member

    Boas, o connect recebe const struct sockaddr* como segundo argumento, e tu tás a passar-lhe sockaddr_in*, o que não tem grandes problemas. Para tirares o warning, podes fazer algo do género:

    Código:
    connect(sockfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr)) 
    
    Espero que ajude.
     
  3. SiR_vIRciado

    SiR_vIRciado What is folding?

    Resolveu ;)

    Obrigado
     
  4. SiR_vIRciado

    SiR_vIRciado What is folding?

    Apareceu-me outro warning e este não faço mesmo ideia como resolve-lo..

    É na função kill

    src/CliRT.c: In function ‘main’:
    src/CliRT.c:141: warning: implicit declaration of function ‘kill’

    Alguem sabe a solução?

    Cumprimentos
     
  5. AliFromCairo

    AliFromCairo Power Member

    Boas, experimenta fazer include do signal.h.
     

Partilhar esta Página