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

Problem z połączeniem TCP/IP C#

Object Storage Arubacloud
0 głosów
1,255 wizyt
pytanie zadane 7 lipca 2020 w C# przez MultiWu Nowicjusz (120 p.)

Witam, piszę właśnie interfejs sieciowy pod moją minigrę.
I mam taki problem, Jedyne co w kółko klient otrzymuje to: OK REG

Tak to powinno działać:

Klient łączy się z serwerem.
Klient wysyła wiadomość "REG"
Serwer sprawdza wiadomość, jeżeli jest to "REG" to odpowiada: "OK REG"
Klient sprawdza wiadomość, jezeli jest to "OK REG", odpowiada: <NICK z pola rejestracji>
Serwer zapisuje treść wiadomości, jeżeli wszystko poszło poprawnie to odpowiada: "OK REG1"
Klient sprawdza wiadomość, jezeli jest to "OK REG1", odpowiada: <HASŁO z pola rejestracji>
Serwer zapisuje treść wiadomości, jeżeli wszystko poszło poprawnie to odpowiada: "OK REG2"
Klient sprawdza wiadomość, jeżeli jest to "OK REG2", oczekuje na wiadomość z (w kolejności od 1 wzwyż) numerycznym ID użytkownika które generuje serwer.
Serwer wysyła wiadomość z ID użytkownika.
Klient je odbiera i zapisuje.
A dalej nic się dziać nie powinno.

Ale jednak cały czas serwer wyrzuca error: System.Net.Sockets.SocketException (10053): Nawiązane połączenie zostało przerwane przez oprogramowanie zainstalowane w komputerze-hoście.
 at AC_Simulator_Server.Program.ExecuteServer() in C:\Users\**\source\repos\AC Simulator Server\Program.cs:line 104

Tutaj dodaję plik źródłowy serwera (C# Aplikacja konsolowa): Gist

To otrzymuję w oknie debugowania VS w aplikacji klienta:
Socket connected to -> [****::****:****:****:******]:11111 
Message from Server -> OK REG
Message from Server -> OK REG

A tutaj dodaję archiwum z kodem klienta: https://anonfiles.com/F5M262E3oe/AC_Simulator_Client_7z

Oczywiście będę bardzo wdzięczny za wszelką pomoc :)

komentarz 9 lipca 2020 przez sunzi Bywalec (2,000 p.)

A próbowałeś to przedebugować w ten sposób: odpal sobie klient i serwer w dwóch instancjach visual studio i krok po kroku sprawdziłeś jak działa? Bo jak ja to zrobię to w sumie niczego się nie nauczysz i dalej będziesz stał w miejscu i za chwilę będziesz miał inny podobny problem nie do rozwiązania :/

Jeśli liczysz na gotowca to przyjrzyj się liniom (tam jest błąd):

Console.WriteLine("Message from Server -> {0}",
                              Encoding.ASCII.GetString(messageReceived,
                                                         0, byteRecv));
string responseReg1 = Encoding.ASCII.GetString(messageReceived, 0, byteRecv);

 

komentarz 9 lipca 2020 przez MultiWu Nowicjusz (120 p.)
Już zauważyłem :D. Dzięki wielkie za pomoc
komentarz 10 lipca 2020 przez sunzi Bywalec (2,000 p.)

yes

Dodam jeszcze od siebie, że byś z łatwością uniknął tego błędu gdyby odczytywanie poszczególnych segmentów z socketa były wykonywane w osobnych metodach wink

komentarz 22 lipca 2020 przez piotrsz109 Stary wyjadacz (13,730 p.)

@Oliwier Minota, Jeśli masz client'a i serwer w tej samej solucji, możesz oba projekty uruchamiać i debugować w jednym oknie. Ustawienia do tego, są w ustawieniach solucji w zakładce Debug, o ile dobrze pamiętam

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 255 wizyt
pytanie zadane 14 kwietnia 2021 w Sieci komputerowe, internet przez dark41 Użytkownik (760 p.)
0 głosów
0 odpowiedzi 238 wizyt
0 głosów
1 odpowiedź 411 wizyt
pytanie zadane 3 listopada 2016 w Sieci komputerowe, internet przez Piotr Jarema Użytkownik (970 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 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!

...