Mam dwa programy napisane przez siebie: serwer i klient. Klient używa adresu IP serwera do łączenia się z nim przez Internet. Po ustanowieniu połączenia serwer musi wyświetlić komunikat „Klient podłączony”. to jest to! Programy serwera i klienta są uruchamiane w systemie Windows 7 na różnych komputerach. Aby program serwera działał poprawnie, wykonałem kilka dostosowań środowiska:
1. Wyłączona zapora: Zapora systemu Windows - Dostosuj ustawienia - Wyłącz Zaporę systemu Windows (
dokonaj ustawień jak tutaj )
2. Mam statyczny adres IP i router TPLink TL-WR841N. Przekierowałem więc port w ten sposób: ustawienia routera - przekazywanie - serwery wirtualne. W otwartym menu podałem lokalny adres IP serwera (np. 192.168.1.15) i port (37777). W tym momencie usługi sprawdzania portów online, takie jakoznacza to , że port 37777 jest otwarty.
Teraz oczekuję, że wszystko zadziała. Ale tak się nie dzieje: program kliencki próbuje nawiązać połączenie, ale kończy się niepowodzeniem, pokazując „błąd przekroczenia limitu czasu gniazda”. Programy takie jak telnet również nie mogą połączyć się z serwerem. Jeśli uruchomię zarówno program serwera, jak i klienta na serwerze (jeden komputer łączy się ze sobą), wszystko działa dobrze (nawet jeśli używam zewnętrznego adresu IP). Jeśli uruchomię program serwera, a następnie wypróbuję usługi sprawdzania portów, będzie to oznaczało, że „Klient podłączony”.
Jak poprawnie skonfigurować oba komputery?
źródło