Связь через сокет C# — IP-адрес

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

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


person Ahmet Altun    schedule 04.04.2010    source источник


Ответы (4)


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

person Matti Virkkunen    schedule 04.04.2010

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

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

person George Johnston    schedule 04.04.2010

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

И, конечно же, перенаправьте порт вашего маршрутизатора.

person Fogh    schedule 04.04.2010

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

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

person AxelEckenberger    schedule 04.04.2010