Socket Communication C # - IP-адрес - PullRequest
1 голос
/ 04 апреля 2010

У меня есть приложение-сокет, которое я могу использовать в локальной сети, дома. Я могу заставить их общаться, например, с 192.168.x.x на 192.168.y.y ip адреса.

Что мне делать, если я хочу использовать приложение через Интернет, с удаленного компьютера, а не локально. Например, какие ip-адреса мне следует использовать, если мой друг, живущий в другой стране, хочет получить доступ к моему приложению.

Ответы [ 4 ]

1 голос
/ 04 апреля 2010

На стороне сервера самый простой способ - привязать все доступные адреса, используя IPAddress.Any в качестве адреса. Вам нужно будет указать клиенту свой общедоступный интернет-адрес для подключения. Если вы работаете в режиме NAT, это может означать поиск адреса вашего маршрутизатора (или использование http://www.whatismyip.com/) и его настройку для маршрутизации трафика на ваш ПК.

0 голосов
/ 04 апреля 2010

Ваш исходящий IP-адрес. Используйте этот сайт, чтобы увидеть его: http://www.whatismyip.com/

И, конечно, порт переадресует ваш маршрутизатор.

0 голосов
/ 04 апреля 2010

Вам придется использовать IP-адрес, предоставленный вашим провайдером (интернет-провайдером). Обычно эти IP-адреса не являются статичными, поэтому вам необходимо предоставить какой-либо способ преобразования динамического IP-адреса в статическое имя (обычно это делают провайдеры dyndns).

Кроме того, вам необходимо настроить маршрутизатор для перенаправления входящего трафика через порт xxx на локальный компьютер (обычно это не маршрутизатор, за исключением случаев, когда вы используете модем). Это называется переадресацией портов.

0 голосов
/ 04 апреля 2010

Вам необходимо настроить маршрутизатор для переадресации порта, по которому вы хотите общаться.Как только вы это сделаете, дайте вашему другу ваш публичный IP-адрес.

Например, вы можете настроить правила вашего маршрутизатора так, чтобы все запросы порта 80 направлялись на ваш компьютер 192.168.xx, чтобы при запросепорт 80 входит, он автоматически отправляется на определенный адрес в вашей подсети.

...