Serwer i klient TCP w konsoli, C#

Odpowiedz Nowy wątek
2016-04-19 17:29
0

kod serwera

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Sockets;
using System.Net;

namespace Server
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Nasluchiwanie polaczenia TCP na porcie 3000");
            TcpListener tcp_listener = new TcpListener(IPAddress.Any, 3000);
            tcp_listener.Start(); //zacznij nasluchiwac polaczen
            Console.WriteLine("Zaakceptowano klienta");
            TcpClient client = tcp_listener.AcceptTcpClient();
            Console.WriteLine("Utworzono strumien do przesylania danych");
            NetworkStream ns = client.GetStream();

            byte[] buffer = new byte[client.ReceiveBufferSize];
            int data = ns.Read(buffer, 0, client.ReceiveBufferSize);

            string message = Encoding.Unicode.GetString(buffer, 0, client.ReceiveBufferSize);
            Console.WriteLine("Message: "+message);
            Console.ReadKey();
        }
    }
}

kod klienta

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Sockets;
using System.Net;

namespace Klient
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Utworzenie obiektu TcpClient na porcie 3000");
            TcpClient client = new TcpClient("127.0.0.1", 3000);
            Console.WriteLine("Tworzenie obiektu do obslugi strumienia");
            NetworkStream ns = client.GetStream();
            Console.WriteLine("Podaj wiadomosc:");
            string ch = Console.ReadLine();
            Console.WriteLine("Kodowanie wiadomosci");
            byte[] message = Encoding.Unicode.GetBytes(ch);
            Console.WriteLine("Wysylanie wiadomosci do serwera");
            ns.Write(message, 0, message.Length);
            Console.WriteLine("Usuwanie obiektu TcpClient i przerywanie polaczenia TCP");
            client.Close();
            Console.ReadKey();
        }
    }
}

Dlaczego nie udaje mi się wysłać wiadomości w ten sposób od klienta do serwera, tylko wyrzuca wyjątek po 10 sekundach, że nie udało się nawiązać połaczenia?

edytowany 4x, ostatnio: Mikilll, 2016-04-19 17:58

Pozostało 580 znaków

2016-04-19 17:40
Miłośnik Prosiaków
1

Jak to ma być localhost, to będzie: 127.0.0.1 zamiast 127.0.0.0 :)

Pozostało 580 znaków

2016-04-19 17:56
0

Dzięki. Już poprawiłem. Ale teraz wywala wyjątek w tej linijce

TcpClient client = new TcpClient("127.0.0.1", 3000);

:
Additional information: Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia

edytowany 1x, ostatnio: Mikilll, 2016-04-19 17:58

Pozostało 580 znaków

2016-04-19 18:07
Wielki Orzeł
0

Zmień port na inny, może ustawienia firewall pomogą (dodanie jakiejś formuły, przepuszczenie ruchu)? Nie wiem, nie znam się na sieciach.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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