Merci de ton aide . J'ai effectué quelques modifications en passant désormais une structure de type sockaddr_in6 à la fonction. En regardant de plus près sa signature j'ai aussi vu qu'elle voulait un LPDWORD qui semble être en réalité un pointeur vers un DWORD. J'ai donc modifié aussi le type.
Néanmoins, ça ne fonctionne toujours pas mais l'erreur n'est plus la même...c'est la 10022 : "WSAEINVAL : The specified address is not a valid socket address, or no transport provider supports the indicated address family."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 struct in_addr MulticastAddr; struct sockaddr_in6 MulticastAddr_6; char lAdresseMulticastV6[46]; DWORD dw = sizeof(lAdresseMulticastV6) ; DWORD MulticastAddr_6_Size = sizeof(MulticastAddr_6); if (addressType == IPV4) { MulticastAddr = connection->mediaAddress; sprintf(URL, "udp://%s -rtp -audio", inet_ntoa(MulticastAddr)); } else if(addressType == IPV6) { MulticastAddr_6.sin6_addr = connection->mediaAddressIPV6; if( 0 == (WSAAddressToString((struct sockaddr *)&MulticastAddr_6,MulticastAddr_6_Size,NULL,lAdresseMulticastV6,&dw))) { sprintf(URL, "udp://%s -rtp -audio", lAdresseMulticastV6); } else { printf("Erreur WSAAddressToString : %d \n", WSAGetLastError()); } }
Partager