djfarinha Postado Agosto 20, 2009 Denunciar Share Postado Agosto 20, 2009 Ola pessoal estou começando a programar sockets e to precisando de uma ajudinha.estava tentando compilar este codigo e da o seguite erro.rafael@rafael-desktop:~$ gcc -o tes tes.ctes.c: In function ˜main"tes.c:22: warning: incompatible implicit declaration of built-in function bzerorafael@rafael-desktop:~$ o codigo é esse.#include <stdio.h> #include <sys/types.h> #include <netinet/in.h> #include <netdb.h> #include <sys/socket.h> main() { int Meusocket; struct sockaddr_in net; int connecti; Meusocket = socket(AF_INET, SOCK_STREAM, 0); if(Meusocket < 0) { printf("erro"); } net.sin_family = AF_INET; net.sin_port = htons(31337); net.sin_addr.s_addr = inet_addr("127.0.0.1"); bzero(&(net.sin_zero),8); connecti = connect(Meusocket,(struct sockaddr * )&net, sizeof(net)); if(connecti < 0) { printf("erro connect"); } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 djfarinha Postado Agosto 21, 2009 Autor Denunciar Share Postado Agosto 21, 2009 :wacko: alguém por favor Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arrk Postado Agosto 25, 2009 Denunciar Share Postado Agosto 25, 2009 Ae djfarinha, beleza cara?O tipo de retorno da main será int quer você especifique quer não, então por questões de legibilidade, eu particularmente, aconselho espeficiar.Um dos warnings devido a função bzero() estar no header string.h, o qual você não incluiu.O outro warning também é pelo mesmo motivo, agora com o header arpa/inet.h . Tente aí no seu computador agora com as devidas modificações. Aqui a conecção não tá sendo feita, e como meu forte não é sockets vou dar uma pesquisada antes de falar sobre o problema. Espero que por hora eu tenha ajudado.Abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 blinkbl Postado Setembro 2, 2009 Denunciar Share Postado Setembro 2, 2009 (editado) Bom, primeiro recomendo usar memset para 'zerar' os valores da estrutura sockaddr_in (se não me engano consta até no próprio exemplo da MSDN)memset(&net,0,sizeof(net));Segundo, seu programa jamais irá se conectar se não houver algum socket esperando algum pedido de conexão vindo da porta especificada (no caso 31377). Mas do que eu li pra mim parece estar certo (não testei, nem compilei).Na minha opinião faltou somente mesmo a parte do servidor que devia estar esperando alguma conexão.Recomendo você dar uma pesquisada em sockets sobre essas funções: bind() accept () e listen() - você vai utilizar para o programa 'servidor'. Provavelmente você vai achar alguns exemplos bons no google sobre isso.Espero que tenha ajudado em algo,Abraço Editado Setembro 2, 2009 por blinkbl Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 djfarinha Postado Setembro 3, 2009 Autor Denunciar Share Postado Setembro 3, 2009 Valeu, ajudaram bastante. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
djfarinha
Ola pessoal estou começando a programar sockets e to precisando de uma ajudinha.
estava tentando compilar este codigo e da o seguite erro.
rafael@rafael-desktop:~$ gcc -o tes tes.c
tes.c: In function ˜main"
tes.c:22: warning: incompatible implicit declaration of built-in function bzero
rafael@rafael-desktop:~$
o codigo é esse.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.