AC # Socket, который автоматически получает IP-адрес - PullRequest
0 голосов
/ 21 ноября 2011

Я начал программировать сокеты с C #.Ранее у меня был некоторый опыт работы с сокетами под Java;и все в порядке с C #, за исключением того, что:

C # сокеты не получают IP-адрес автоматически.В Java серверным сокетам нужен только порт, а затем, когда они создаются, они автоматически получают полезный IP-адрес, который может быть возвращен методом (я не помню имя этого метода).

inВ C # сокету сервера должен быть присвоен IP, иначе он не может быть создан.Я хочу, чтобы сокет автоматически находил IP, но я попытался IPAddress.any, и он возвращает только 0.0.0.0, что просто странно (я даже не знаю, что это значит! Прослушивание каждого IP?) IP-адреса серверасокет может быть возвращен свойством localEndPoint, поэтому я просто хочу, чтобы сокет захватил IP, а затем я выясню, что он использует, используя этот метод.

Как это возможно?

1 Ответ

0 голосов
/ 21 ноября 2011

Как отмечено в комментариях. 0.0.0.0 означает «любой IP-адрес», что именно то, что вы указали в своем конструкторе.

Если вы хотите, чтобы он прослушивал только определенный IP, вам нужно явно указать этот IP в конструкторе. Он не выберет один случайно, и вы не должны этого хотеть.

Между прочим, существует другой класс для перечисления IP-адресов, доступных в системе. Дайте мне знать в комментарии, если это то, что вам нужно.

...