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

Problem z komunikacją klient serwer

VPS Starter Arubacloud
0 głosów
566 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,940 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,940 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,940 p.)
ech, a jak z innymi aplikacjami?

Podobne pytania

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

92,839 zapytań

141,780 odpowiedzi

320,855 komentarzy

62,171 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

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!

...