Unix C#:SocketException未知错误-1

时间:2018-07-20 14:52:01

标签: c# .net sockets icmp

对于使用C#来说我是一个新手,但是有使用Java和C ++的经验。我需要为学校制作一个Traceroute程序,但似乎无法正确ping通该程序。我使用MacOs和Mono 5.10.1.57。

首先,我尝试使用Ping类和PingOptions,如https://msdn.microsoft.com/en-us/library/system.net.networkinformation.pingoptions(v=vs.110).aspx上提供的示例。我将Ttl设置为1,程序忽略了我所做的ttl设置。我发现其他人也有同样的问题:https://github.com/dotnet/corefx/issues/9350

之后,我决定尝试使用原始套接字类型来执行此操作,现在收到错误:System.Net.Sockets.SocketException:“未知错误:-1”。

这是我的代码:

Socket socket = new Socket(AddressFamily.InterNetwork, 
SocketType.Raw, ProtocolType.Icmp);
socket.Ttl = 1;
socket.SendTo(packet_buffer, 54, 0, endPointServer);

谢谢!

编辑: 我的异常发生在实例化Socket的第1行。

0 个答案:

没有答案