TcpClient Connect() Problem z nawiązaniem połączenia

0

Czy ktoś może wie dlaczego otrzymuję wyjątek :
"Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia"
podczas próby połączenia się z Listenerem na localhoscie ?

tcpClient.Connect("Localhost", 815); // Lipa - nie dziala

Dodam, że przy wyłączonym firewallu a nawet i Listenerze jest taki sam błąd pomimo, że Listener działa dobrze, bo gdy uruchomię Listenera na innym komputerze i zamiast "localhost" wpiszę IP tego komputera, na którym jest odpalony Listener to działa :

tcpClient.Connect("192.168.1.6", 815); // Dziala

Pozdrawiam wszystkich!

0

Stawiałbym na to że problemem jest "Localhost"... sprobuj uzyc zamiast tego

IPAddress.Parse("127.0.0.1") 

albo

Dns.Resolve("localhost").AddressList[0]

Wazne jest jeszcze jak ustawiles listener (jaki adres IP), gdyż kiedys jak sie tym bawilem to (gdy wpisalem w listenerze "IPAddress.Parse("127.0.0.1")") mialem problemy z połączeniem się z tym listenerem z innego kompa, zato taka pętla rozwiązywała wszelkie problemy (sory ze w C++):

int i;
array<System::Net::IPAddress^ > ^ addresses;
addresses = Dns::GetHostEntry(Dns::GetHostName())->AddressList;
for (i=0; i < addresses->Length ; ++i)
	if (addresses[i]->AddressFamily == System::Net::Sockets::AddressFamily::InterNetwork)
		break;
myIP = addresses[i];
0

Hej, dzięki za odpowiedź. Zapomniałem wczoraj dodać, że ręczne wpisanie 127.0.0.1 na to miejsce też nie działa. Mimo wszystko spróbowałem jeszcze przed chwilą :

tcpClient.Connect(IPAddress.Parse("127.0.0.1"), 815);

i dalej to samo. Nie wiem czy to kwestia jakiegoś oprogramowania zainstalowanego na komputerze czy o czymś po prostu nie wiem. Nie mam pojęcia jak sobie z tym poradzić.

Ma ktoś jakiś pomysł skąd ten komunikat?

0

Już działa. Napiszę dla potomnych żeby nie musieli z tym walczyć.

Druga część Twojego postu mnie oświeciła i doszedłem do wniosku, że w sumie nie chodzi o żaden błąd.
W Listenerze miałem tak :

string hstServer = Dns.GetHostName();
IPAddress ipaLocal = Dns.GetHostEntry(hstServer).AddressList[0];

if (tlsServer == null)
{
    tlsServer = new TcpListener(ipaLocal, 815); // inaczej (w mojej sieci) : 192.168.1.5 / 815
}

dlatego gdy odpalałem na innym komputerze klienta to działało bo w kliencie wpisywałem adres sieciowy.
Natomiast na tym samym kompie nie działało bo wpisywałem ip - localhost czyli 127.0.0.1
Po zamianie w kliencie adresu z localhost na 192.168.1.5 zaczęło działać. To samo w drugą stronę.
Czyli jeśli zamienię w listenerze adres i ustawię mu na sztywno "127.0.0.1" to mój klient połączony w ten sposób :

tcpClient.Connect(IPAddress.Parse("127.0.0.1"), 815);

też działa.

Dzięki Wilku za tego posta!

1 użytkowników online, w tym zalogowanych: 0, gości: 1