• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prosty komunikator, nie mogę połączyć się z własnym serwerem

Object Storage Arubacloud
0 głosów
1,327 wizyt
pytanie zadane 30 marca 2018 w C# przez żółwibekon Początkujący (300 p.)
Cześć, uczę się programować w C# w Visual Studio i natrafiłem na problem, mianowicie zrobiłem sobie prosty komunikator w okienku, z dwoma przyciskami do tworzenia serwera i połączenia się z serwerem. Z postawieniem serwera poradziłem sobie bez problemów, jednak nie wiem dlaczego nie mogę się z nim połączyć.

serwer: https://pastebin.com/v5yuK9nF

klient: https://pastebin.com/Le7r0pVW

Myślałem początkowo, że nieprawidłowo sczytuje mi z pól IP i port więc ustawiłem je "ręcznie", jednak to nic nie dało. Co ciekawe, po usunięciu bloku try/catch z klienta, wyskakuje błąd "System.Net.Sockets.SocketException: Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia”. Nie mam pojęcia o co może chodzić, zapora jest wyłączona..

1 odpowiedź

0 głosów
odpowiedź 31 marca 2018 przez marcin99b Szeryf (82,060 p.)
nie chce mi się analizować tego, ale poczytaj o czymś takim jak IDisposable i using

nawet jak zadziała, to przy więcej niż jednym żądaniu się wysypie
komentarz 31 marca 2018 przez żółwibekon Początkujący (300 p.)
Nie rozumiem dlaczego takie oburzenie i dlaczego jestem minusowany. Powyższy kod został w całości oparty na poradniku ze strony https://4programmers.net/C_sharp/Gniazda_sieciowe

Jest niemal identyczny, ale w moim przypadku po prostu nie chce działać
komentarz 31 marca 2018 przez marcin99b Szeryf (82,060 p.)
a jaką dostajesz wiadomość błędu?
komentarz 31 marca 2018 przez żółwibekon Początkujący (300 p.)
Napisałem w pierwszym poście: "System.Net.Sockets.SocketException: Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia”
komentarz 31 marca 2018 przez marcin99b Szeryf (82,060 p.)
ale więcej informacji
co dokładnie zwraca ten błąd, podczas jakiej sytuacji

i też czy na 100% serwer jest uruchomiony jak klient działa?
komentarz 1 kwietnia 2018 przez żółwibekon Początkujący (300 p.)

Błąd pojawia się w momencie gdy kliknę w przycisk Connect, niezależnie od tego czy serwer jest włączony i nasłuchuje we włączonej drugiej aplikacji (tej samej).

Screen powinien wyjaśnić to bardziej:

komentarz 1 kwietnia 2018 przez marcin99b Szeryf (82,060 p.)
a jesteś na 100% pewny, że w tej chwili serwer nasłuchuje?

Możliwe że w rzeczywistości to nasłuchiwanie się nie uruchamia, albo kończy od razu
dlatego klient próbuje się połączyć, ale nie ma do czego
komentarz 1 kwietnia 2018 przez żółwibekon Początkujący (300 p.)
Jak mogę sprawdzić czy serwer nasłuchuje?
komentarz 1 kwietnia 2018 przez marcin99b Szeryf (82,060 p.)
za pomocą np NetworkStream (stworzenie za pomocą TcpClient, stworzonego za pomocą TcpListener)

tutaj tylko odpalasz tcplisterner, ale jak spojrzałem w kod, nigdzie nie otwierasz się na przyjmowanie danych
klient nie może ich wysłać, więc odmawia połączenia

za dużo nie pracowałem bezpośrednio przy tcp (i trudno mi stwierdzić gdzie jest granica między działa a jeszcze nie działa, zawsze tworzyłem całość do podstawowej wersji a dopiero później testy), ale ja tak to widzę

Podobne pytania

0 głosów
3 odpowiedzi 248 wizyt
pytanie zadane 19 września 2018 w C# przez MS Początkujący (430 p.)
0 głosów
2 odpowiedzi 623 wizyt
pytanie zadane 25 lipca 2018 w C# przez Piotr86PL Początkujący (340 p.)
0 głosów
1 odpowiedź 210 wizyt
pytanie zadane 24 maja 2017 w C# przez DODO Bywalec (2,950 p.)

92,551 zapytań

141,399 odpowiedzi

319,530 komentarzy

61,937 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...