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?