1

我正在尝试让此处找到的 ICMP 代码正常工作。但是在这一行:

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

我得到 SocketException:“试图以访问权限禁止的方式访问套接字”(本机错误代码:10013)

以管理员模式运行是一种(不好的)解决方案,但由于我希望我的程序在用户级别上运行,你会建议什么?也欢迎其他 ICMP 方法。

我一直在尝试使用“ClickOnce”安全设置,但没有帮助。

4

1 回答 1

2

自 Windows 2000 以来,ICMP 和原始套接字仅限于管理员用户。您尚未说明您要做什么,但您可以尝试使用 NetworkInformation 命名空间来实现您的目标:NetworkInformation

它包括一个Ping类来发送 ICMP 回显请求。

于 2009-04-13T22:31:43.103 回答