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

Problem z komunikacją klient serwer

Object Storage Arubacloud
0 głosów
537 wizyt
pytanie zadane 19 lutego 2018 w C# przez mus Użytkownik (700 p.)

Mam o taki kod podstawowy klienta 

const int PORT_NO = 5000;
        const string SERVER_IP = "192.168.X.X"; //zamiast xxx są cyfry 
        static void Main(string[] args)
        {
            //---data to send to the server---
            string textToSend = DateTime.Now.ToString();

            //---create a TCPClient object at the IP and port no.---
            TcpClient client = new TcpClient(SERVER_IP, PORT_NO);
            NetworkStream nwStream = client.GetStream();
            byte[] bytesToSend = ASCIIEncoding.ASCII.GetBytes(textToSend);

            //---send the text---
            Console.WriteLine("Sending : " + textToSend);
            nwStream.Write(bytesToSend, 0, bytesToSend.Length);

            //---read back the text---
            byte[] bytesToRead = new byte[client.ReceiveBufferSize];
            int bytesRead = nwStream.Read(bytesToRead, 0, client.ReceiveBufferSize);
            Console.WriteLine("Received : " + Encoding.ASCII.GetString(bytesToRead, 0, bytesRead));
            Console.ReadLine();
            client.Close();
        }

A następnie kod podstawowy serwera 

const int PORT_NO = 5000;
        const string SERVER_IP = "192.168.X.X"; // tu również są cyfry tylko w celu 
//bezpieczeństwa zostały zastąpione x

        static void Main(string[] args)
        {
            //---listen at the specified IP and port no.---
            IPAddress localAdd = IPAddress.Parse(SERVER_IP);
            TcpListener listener = new TcpListener(localAdd, PORT_NO);
            Console.WriteLine("Listening...");
            listener.Start();

            //---incoming client connected---
            TcpClient client = listener.AcceptTcpClient();

            //---get the incoming data through a network stream---
            NetworkStream nwStream = client.GetStream();
            byte[] buffer = new byte[client.ReceiveBufferSize];

            //---read incoming stream---
            int bytesRead = nwStream.Read(buffer, 0, client.ReceiveBufferSize);

            //---convert the data received into a string---
            string dataReceived = Encoding.ASCII.GetString(buffer, 0, bytesRead);
            Console.WriteLine("Received : " + dataReceived);

            //---write back the text to the client---
            Console.WriteLine("Sending back : " + dataReceived);
            nwStream.Write(buffer, 0, bytesRead);
            client.Close();
            listener.Stop();
            Console.ReadLine();

Gdy uruchamiam klienta i serwer na jednym komputerze działą bez problemu ale gdy chcę uruchomić serverna jednym komputerze a na drugim laptopie klienta już nie ma komunikacji. Adres ip sprawdzałem kilka razy (IPv4 adress) zapory mam wyłączone zarówno na laptopach jak i na routerze. Niestety nie wiem co może być nie tak. 

1 odpowiedź

+1 głos
odpowiedź 19 lutego 2018 przez jankustosz1 Nałogowiec (35,880 p.)
wybrane 20 lutego 2018 przez mus
 
Najlepsza
Na pewno są w tej samej sieci, sprawdź czy możesz pingować? Raz miałem sytuacje że antywirus Norton blokował tcp w apce bez żadnego powiadomienia i nie wystarczyło jego wyłączenie, trza było go odinstalować żeby działało. Sprawdź czy inne programy klient-serwer działają dobrze.

Zamiast wpisywać ip servera na sztywno wpisz daj mu to ip: https://msdn.microsoft.com/en-us/library/system.net.ipaddress.any%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
komentarz 19 lutego 2018 przez mus Użytkownik (700 p.)
Ping odebrał ale chyba przekierował/użył innego  ip Reply from 188.156.X.X  Destination net unreachable. Wszystkie antywirusy zostały usunięte. Po wpisaniu ip z reply komunikacja i tak nie działa
komentarz 19 lutego 2018 przez jankustosz1 Nałogowiec (35,880 p.)
Stwórz jakąś sieć wifi na telefonie i niech te komputery łączą się ze sobą z jej pośrednictwem to na pewno będzie działać jeżeli wpiszesz dobre ip i port wpisane w programy.
komentarz 19 lutego 2018 przez mus Użytkownik (700 p.)
Próbowałem tak ale też nie pomogło dużo wcześniej
komentarz 19 lutego 2018 przez jankustosz1 Nałogowiec (35,880 p.)
ech, a jak z innymi aplikacjami?

Podobne pytania

0 głosów
1 odpowiedź 499 wizyt
0 głosów
1 odpowiedź 1,020 wizyt
0 głosów
0 odpowiedzi 552 wizyt
pytanie zadane 5 kwietnia 2018 w C# przez Oskar Filippoto Początkujący (470 p.)

92,551 zapytań

141,397 odpowiedzi

319,528 komentarzy

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

...