У меня есть две программы, написанные мной самостоятельно: сервер и клиент. Клиент использует IP-адрес сервера для подключения к нему через Интернет. После установления соединения сервер должен отобразить сообщение "Клиент подключен". Вот и все.
Серверные и клиентские программы работают под Windows 7 на разных компьютерах. Чтобы заставить серверную программу работать правильно, я сделал несколько настроек среды:
1. Отключенный брандмауэр: Брандмауэр Windows - Настройка параметров - Отключение брандмауэра Windows (настройки сделаны как здесь)
2. У меня статический IP и роутер TPLink TL-WR841N. Таким образом, я сделал переадресацию портов таким образом: настройки маршрутизатора - Пересылка - Виртуальные серверы. В открывшемся меню я ввел локальный IP-адрес сервера (например, 192.168.1.15) и порт (37777). На данный момент онлайн - сервисы проверочных порта , как это говорят , что 37777 порт открыт.
Теперь я ожидаю, что все будет работать. Но это не так: клиентская программа пытается установить соединение, но терпит неудачу, показывая «ошибка тайм-аута сокета». Такие программы, как telnet, тоже не могут подключиться к серверу. Если я запускаю серверные и клиентские программы на сервере (один компьютер подключается к себе), все работает нормально (даже если я использую внешний IP-адрес). Если я запускаю серверную программу, а затем пробую службы проверки портов, это показывает, что «Клиент подключен».
Как правильно настроить оба компьютера?