harryherold
Grünschnabel
Hallo Leute hab da mal ein Problem zum Thema Socket-Programmierung in C.
Ich deklariere und hol mir speicher wie folgt:
int sock;
ssize_t len;
char mesg[]={'O','K'};
struct sockaddr_in6 *server;
server=malloc(sizeof(struct sockaddr_in6));
len=strlen(mesg);
dann hole ich mir einen socket
sock = socket(AF_INET6,SOCK_DGRAM,IPPROTO_UDP);
dann befülle ich
memset(server,0,sizeof(server));
server->sin6_family=AF_INET6;
server->sin6_port=htons(4910);
if(inet_pton(AF_INET6,"::1/128",server))
{
error_handler("ungueltige IP-Adresse\0");
exit_handler();
}
dann das senden
if((send_byte=sendto(sock,mesg,len+1,0,(struct sockaddr*)server,sizeof(server)))<0)
{
error_handler("Beim Senden ist ein Fehler aufgetreten\0");
exit_handler();
}
close(sock);
Als Fehler kommt "invaild argument"
Wenn ich das struct statisch machen läuft es .
Könnt ihr mir bitte weiter helfen ich bin mit meinem Latein am Ende
Danke im Vorraus******
Ich deklariere und hol mir speicher wie folgt:
int sock;
ssize_t len;
char mesg[]={'O','K'};
struct sockaddr_in6 *server;
server=malloc(sizeof(struct sockaddr_in6));
len=strlen(mesg);
dann hole ich mir einen socket
sock = socket(AF_INET6,SOCK_DGRAM,IPPROTO_UDP);
dann befülle ich
memset(server,0,sizeof(server));
server->sin6_family=AF_INET6;
server->sin6_port=htons(4910);
if(inet_pton(AF_INET6,"::1/128",server))
{
error_handler("ungueltige IP-Adresse\0");
exit_handler();
}
dann das senden
if((send_byte=sendto(sock,mesg,len+1,0,(struct sockaddr*)server,sizeof(server)))<0)
{
error_handler("Beim Senden ist ein Fehler aufgetreten\0");
exit_handler();
}
close(sock);
Als Fehler kommt "invaild argument"
Wenn ich das struct statisch machen läuft es .
Könnt ihr mir bitte weiter helfen ich bin mit meinem Latein am Ende
Danke im Vorraus******