Socket.bind для всех ips - указан неверный аргумент - PullRequest
0 голосов
/ 26 сентября 2011

Я хочу привязать сокет ко всем IP-адресам, доступным на машине, используя:

  mainSocket.Bind(new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0)); //or IPAddress.Any

, но вместо этого я получаю An invalid argument was supplied на

 mainSocket.IOControl(IOControlCode.ReceiveAll, byTrue, byOut);

укажите IP, он работает просто отлично.

enter image description here

Хорошо, возможно, этого достичь невозможно.Но как насчет определения, какой интернет-интерфейс используется для подключения к интернету и получения его IP?(при условии, что пользователь находится за NAT / маршрутизатором)

1 Ответ

1 голос
/ 26 сентября 2011

Я думаю, что это невозможно.Работа с сокетами имеет ограничения в соответствии с этим документом Необработанные сокеты TCP / IP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...