ICMP en C #, SocketException - prohibido por los permisos de acceso
Pregunta
Estoy intentando conseguir el href="http://www.digigrupp.com/ping/icmpsocket.cs.aspx" rel="nofollow noreferrer"> código para trabajar . Sin embargo en esta línea:
Socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork,
System.Net.Sockets.SocketType.Raw,
System.Net.Sockets.ProtocolType.Icmp);
consigo SocketException: "Se ha intentado acceder a una toma de corriente de una manera prohibida por sus permisos de acceso" (código de error nativo: 10013)
La ejecución en modo de administrador es una solución de (mal), pero como yo quiero que mi programa funcione en el nivel de usuario, lo que habría que sugesst? Otros enfoques ICMP es también agradable.
He estado tratando de jugar con los ajustes "ClickOnce" de seguridad, que no ayuda.
Solución
ICMP y raw sockets están restringidos a los usuarios administradores de Windows desde 2000. No ha declarado lo que estás tratando de hacer, pero puede probar el espacio de nombres NetworkInformation para lograr su objetivo: NetworkInformation
Incluye un href="http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping.aspx" rel="nofollow noreferrer"> Ping clase