Разработка клиент-серверного приложения с использованием INDY - PullRequest
0 голосов
/ 22 октября 2011

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

Каким должен быть мой IP-адрес привязки idtcpserver (127.0.0.1, 192.168.1.1 или мой публичный IP-адрес)

Я проверил его с помощью IPconfig, он ответил мне 192.168.1.1, но я подключился к Интернету, используя мой домашний маршрутизатор adsl (один порт).

Я назначил клиентское приложение с

idtcpclient.host: = мой публичный IP-адрес

приложение работает хорошо, когда я назначаю оба с 127.0.0.1 //, поскольку оба находятся на локальной машине

Как заставить мое приложение работать через Интернет. Когда я пытаюсь подключиться через Интернет, клиент отвечает мне

Ошибка сокета # 10061: соединение отказано.

но мой сетевой монитор Касперского показывает, что мой порт открыт моим приложением (я установил его на 6000)

оригинальный проект SourceForge

1 Ответ

1 голос
/ 22 октября 2011

Вам не нужно создавать привязку на сервере.Просто назначьте порт по умолчанию.Во время выполнения будет создана одиночная привязка с этим портом и пустым IP-адресом.

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

У меня есть несколько серверов, работающих в моей внутренней сети, и именно так я делаю их доступнымииз Интернета.

Вы упоминаете, что у вас есть маршрутизатор DLink.Если он работает так же, как у меня:

  • Используя ваш любимый веб-браузер, откройте страницу настроек маршрутизатора.
  • Я думаю, что адресом по умолчанию является http://192.168.0.1. Имя пользователя «admin» без пароля.
  • Перейдите на вкладку «Дополнительно» и выберите «Виртуальный сервер».
  • настройки виртуального сервера довольно просты.
...