2012-01-11 2 views
2

Мне жаль, если это было задано раньше, но не могло найти ничего об этом конкретном вопросе.Какой локальный ip подключается к удаленному ip?

Я пытаюсь выяснить, с какими из моих собственных ip использует мой компьютер для подключения к удаленному ip. Я использую какую-то конфигурацию сокета в обоих направлениях и т. Д., И я отправляю свой ip (и другие вещи с xml) на другой сервер, чтобы он знал, как связаться со мной. Но как я могу определить, какой ip я должен отправить на него? У меня есть серверы IP или имя хоста, но при попытке с

Dns.GetHostEntry("host").AddressList 

Но это только дает мне IP удаленного хоста, а не как мой компьютер достичь.

Является ли мой вопрос решаемым вообще или это просто принятие желаемого за действительное?

+0

См: http://alperguc.blogspot.com /2008/11/c-how-to-get-computer-ip-address.html, может быть? – Ryan

+2

Отправка вашего локального IP-адреса будет бесполезной, если вы находитесь за шлюзом NAT (например, большинство домашних маршрутизаторов, сотовая связь и т. Д.). Это будет (скажем) 10.x.x.x и быть недоступным извне. –

+0

Minitech: Думал об этом, но если у пользователя несколько компьютеров, например, VM трудно узнать, какой из них связан с подключенным сервером. –

ответ

0

Ok, быстрое обновление, которое не поможет никому, кроме себя.

Но.

Найдено, что я могу отправить имя хоста вместо фактического IP, будет работать сейчас и большинстве случаев, и пусть DNS делать то, что его предположим делать :)

0

Можете ли вы, чтобы удаленный хост захватил эти данные? У этого наверняка будет это.

+0

Это вариант, который я рассмотрел, но эта часть не построена в доме. Но поднятие проблемы не может повредить, это может быть трудно для них, чтобы исправить это, я думаю. –

0

Если вы используете UDP, то это именно то, для чего был разработан протокол STUN. STUN используется в приложениях VOIP (среди других систем P2P), чтобы узнать, как выглядит конкретное соединение в Интернете.

Одна очень надежная реализация .NET, реализующая STUN, включена в библиотеку Lumisoft.NET (имеется исходный код here). Я сам использовал его для удовлетворения этой конкретной задачи для приложений от VOIP до альтернатив P2P VPN. Это очень проста в использовании и соответствует стандартам.

ПРИМЕЧАНИЕ: Я НЕ каким-либо образом связаны с Lumisoft, я просто использовал свою библиотеку в нескольких различных приложений

+0

С другой стороны, это относится только к ограниченным обстоятельствам, и ваш вопрос неспецифичен. Он будет работать, если ваше приложение UDP, вы хотите, чтобы ваше приложение работало в более широком Интернете, и вы находитесь за маршрутизатором, который поддерживает STUN в качестве механизма обхода. –

Смежные вопросы