Я ищу локальный IP-адрес только что созданного сокета.Мне нужно иметь возможность поддерживать сервер с несколькими сетевыми картами и сообщать запрашивающему клиенту, какой прямой IP-адрес будет подключаться позже.Я использую для следующего кода:
Socket rsock = null;
rsock= new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
rsock.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, 0);
rsock.Bind(new IPEndPoint(IPAddress.IPv6Any, port));
rsock.Listen((int)SocketOptionName.MaxConnections);
После этого момента .LocalEndPoint вылетает: [::]:PORT.
Фон: Причина, по которой яНужен IP-адрес, который вторичное соединение другого клиента должно будет вернуть на этот конкретный сервер.Эти серверы, вероятно, будут находиться за балансировщиком нагрузки для первоначального выбора сервера, поэтому клиент не может разрешить IP-адрес на основе имени хоста.