Как использовать внешний IP-адрес с сокетом c # icmp? - PullRequest
0 голосов
/ 08 сентября 2018

Я делаю небольшой проект, который состоит из прослушивания пинга и просто отвечаю с некоторой информацией.

Я подумал об использовании Socket Raw для ICMP в качестве прослушивателя на стороне сервера и просто отправляю ping со стороны клиента, это прекрасно работает, когда я помещаю адрес 127.0.0.1 в IPEndPoint, но это просто позволяет мне перейти к локальные тесты.

Я хочу пропинговать с другого компьютера в моем Ethernet-соединении, и я должен изменить этот адрес 127.0.0.1 на стороне сервера, подумав об использовании 192.168.0.112, так как это мой локальный IP-адрес, но он не работает. Есть мысли?

Вот мой код:

Сервер

   Socket servidor = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Icmp);   

   IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 0);

   servidor.Bind(endpoint);

   servidor.IOControl(IOControlCode.ReceiveAll, new byte[] { 1, 0, 0, 0 }, new byte[] { 1, 0, 0, 0 });

Любая помощь будет по достоинству оценена! Спасибо!

...