Pergunta

Eu estou tentando obter a código ICMP encontrada aqui ao trabalho . No entanto, nesta linha:

Socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork,
                                       System.Net.Sockets.SocketType.Raw,
                                       System.Net.Sockets.ProtocolType.Icmp);

Eu recebo SocketException: "Foi feita uma tentativa de acessar um soquete de uma maneira proibida por suas permissões de acesso" (Native código de erro: 10013)

Running no modo de administrador é um (mau) solução, mas desde que eu quero o meu programa para trabalhar em nível de usuário, o que você sugesst faria? Outros ICMP se aproxima é também bem-vindos.

Eu tenho tentado a brincar com as configurações de segurança "ClickOnce", o que não ajuda.

Foi útil?

Solução

ICMP e soquetes brutos são restritos a usuários administradores desde o Windows 2000. Você não afirmaram o que você está tentando fazer, mas você pode tentar o namespace NetworkInformation para atingir seu objetivo: NetworkInformation

Ele inclui um href="http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping.aspx" rel="nofollow noreferrer"> Ping classe para enviar pedidos ICMP echo.

scroll top