Ola pessoal, estou com um pequeno problema com socket datagram , se alguém puder me explicar a mensagem de erro e os avisos , em especial o ultimo, ficaria muito agradecido
gabriel@gabriel-laptop:~/Desktop$ gcc dgram.c -o dgram -Wall
dgram.c: In function ‘main’:
dgram.c:17:9: warning: assignment makes integer from pointer without a cast [enabled by default]
dgram.c:25:5: warning: passing argument 1 of ‘htons’ makes integer from pointer without a cast [enabled by default]
/usr/include/netinet/in.h:370:17: note: expected ‘uint16_t’ but argument is of type ‘char *’
dgram.c:26:19: error: incompatible types when assigning to type ‘struct in_addr’ from type ‘in_addr_t’
dgram.c:29:5: warning: passing argument 1 of ‘strlen’ makes pointer from integer without a cast [enabled by default]
/usr/include/string.h:399:15: note: expected ‘const char *’ but argument is of type ‘char’
dgram.c:29:77: warning: passing argument 2 of ‘sendto’ makes pointer from integer without a cast [enabled by default]
/usr/include/x86_64-linux-gnu/sys/socket.h:155:16: note: expected ‘const void *’ but argument is of type ‘char’
Pergunta
gdlm
Ola pessoal, estou com um pequeno problema com socket datagram , se alguém puder me explicar a mensagem de erro e os avisos , em especial o ultimo, ficaria muito agradecido
Codigo:
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main(int argc, char *argv[]){ int sockfd; struct sockaddr_in dest; char msg; msg = "Teste"; if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1){ perror("socket"); exit(1); } dest.sin_family = AF_INET; dest.sin_port = htons(argv[2]); dest.sin_addr = inet_addr(argv[1]); memset(&(dest.sin_zero), '',8); sendto(sockfd,msg,strlen(msg),0,(struct sockaddr *)&dest, sizeof(struct sockaddr)); return 0; }E quando tento compilar:Link para o comentário
Compartilhar em outros sites
2 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.