Bonjour,
N'ayant pas trouv� de rubrique consacr�e � la programmation windows CE or mobile, je me permets donc de poster ici,
je developpe sous visual studio 2005, en MFC, et j'utilise windows sockets pour l'�change de data entre PC et Smartphone (windows mobile 6 pro)
le code fonctionne sur pc, en fait ce n'est qu'une application simple qui re�oit toutes les trames multicast udp
� l'ex�cution, lors de l'appel de WSAIoctl , j'ai l'erreur 10022 (WSAEINVAL)
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Code: if (WSAStartup(MAKEWORD(2,2), &wsd) != 0) { //printf("WSAStartup() failed: %d\n", GetLastError()); return -1; } SOCKET s = WSASocket(PF_INET, SOCK_RAW, IPPROTO_UDP, NULL, 0, WSA_FLAG_OVERLAPPED); if (s == INVALID_SOCKET ) { //printf("WSASocket() failed: %d\n", WSAGetLastError()); return -1; } SOCKADDR_IN if0; if0.sin_family = AF_INET; if0.sin_port = htons(0); //192.0.63.36 is my ip adress if0.sin_addr.s_addr = inet_addr("192.0.63.36"); if (bind(s, (SOCKADDR *)&if0, sizeof(if0)) == SOCKET_ERROR) { //printf("bind() failed: %d\n", WSAGetLastError()); return -1; } unsigned int optval = 1; if (WSAIoctl(s, SIO_RCVALL_MCAST, &optval, sizeof(optval), NULL, 0, &dwBytesRet, NULL, NULL) == SOCKET_ERROR) { //printf("WSAIotcl(%d) failed; %d\n", dwIoControlCode,WSAGetLastError()); return -1; } ...
qui dit que l'argument n'est pas correct.
J'ai pass� 2 jours � chercher sur internet, des messages similaires ont �t� post�s, mais jamais de r�ponse claire, certains parlent de non compatibilit� sous windows xp, mais je rappelle que je suis sous windows mobile 6
Est ce que SIO_RCVALL_MCAST / ou SIO_RCVALL n'est pas compatible avec windows mobile6?
Quelqu'un a d�ja rencontr� le m�me type de probl�me ou pas?
car selon la doc msdn, cette option est normalement compatible avec windows CE5.
Je ne trouve rien non plus sur les forums de microsoft
Je suis bloqu� depuis plusieurs jours, toute aide sera bienvenue
merci,
Partager