maynalysa
Messages postés8Date d'inscriptionmardi 15 décembre 2009StatutMembreDernière intervention 4 février 2010
-
18 janv. 2010 à 14:37
maynalysa
Messages postés8Date d'inscriptionmardi 15 décembre 2009StatutMembreDernière intervention 4 février 2010
-
2 févr. 2010 à 00:38
Bonjour à tous,
J'effectue la création d'un socket de la façon suivante:
Socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);
Mais j'obtiens à l'éxecution de cette ligne l'erreur suivante:
System.Net.Sockets.SocketException (0x80004005) : Une tentative d'accès à un socket de manière interdite par ses autorisations a été tentée at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily, SocketTypesocketType, ProtocolType protocolType)
Je n'arrive pas à comprendre pourquoi!
Pourtant la création que je fais me semble tout à fait correcte.
Merci d'avance de votre aide!
maynalysa
maynalysa
Messages postés8Date d'inscriptionmardi 15 décembre 2009StatutMembreDernière intervention 4 février 2010 18 janv. 2010 à 16:20
Après tests sous plusieurs plate forme, je me suis rendue finalement compte que le problème était issu du système d'exploitation: VISTA !
Je ne sais pour quelle raison, cette ligne ne passe pas sous vista, par contre contre aucuns soucis sous XP.
comme quoi....
maynalysa
Messages postés8Date d'inscriptionmardi 15 décembre 2009StatutMembreDernière intervention 4 février 2010 2 févr. 2010 à 00:38
Oui effectivement. J'ai trouvé la solution à ce problème.
Il faut être admin pour créer des raw sockets sur la plupart des OS.
Donc rajouter un manifest à l'application pour lui dire de s'exécuter en admin:
Clic droit sur le projet -> Add new item -> Application Manifest File -> Ok
Remplacer cette ligne
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
par celle à
<requestedExecutionLevel level="requireAdministrator"/>