S
habe ich schon probiert, da sagte er mir das würde vom protokoll nicht unterstützt. anscheinend ist der standard bei lenny (debian 5.0) ipv6, das habe ich jedenfalls daraus geschlossen, dass er mit AF_INET (ipv4) nicht klarkam.
EDIT: Lösung gefunden!
1 #include <stdio.h>
2 #include <string.h>
3 #include <sys/types.h>
4 #include <sys/socket.h>
5 #include <netdb.h>
6 #include <arpa/inet.h>
7 #include <errno.h>
8
9 int main(int argc, char *argv[]){
10 struct addrinfo aiHints, *aiResults;
11 int fdSocket;
12 int returnValue;
13 char szBuff[1024];
14
15 struct sockaddr_in *helpme;
16
17 snprintf(szBuff, 20, "TESTMSG\0");
18
19 memset(&aiHints, 0, sizeof aiHints);
20
21 aiHints.ai_family = AF_INET;
22 aiHints.ai_socktype = SOCK_DGRAM;
23 aiHints.ai_flags = AI_PASSIVE;
24 aiHints.ai_protocol = IPPROTO_UDP;
25
26 // getaddrinfo("fe81::21b:77ff:fe80:bb97", "16782", &aiHints, &aiResults);
27 returnValue = getaddrinfo(NULL, "16782", &aiHints, &aiResults);
28 if(returnValue != 0)
29 printf("getaddr() ERROR: %s\n", gai_strerror(returnValue));
30 fdSocket = socket(aiResults->ai_family, aiResults->ai_socktype, aiResults->ai_protocol);
31 if(fdSocket == -1)
32 perror("ERROR: socket(): ");
33 sendto(fdSocket, (const char*)szBuff, strlen(szBuff),0, aiResults->ai_addr, aiResults->ai_addrlen);
34 freeaddrinfo(aiResults);
35
36 return 0;
37 }
der hinweis mit der family auf AF_INET setzen war gar nicht verkehrt, scheint aber nur in zusammenhang mit spezifizierung des protokolls wirklich zu funktionieren.
danke allen die geholfen haben, kann dann geschlossen werden.