1

Тема: C# сервер та клієнт

Приклад серверу

using System;
using System.Collections.Generic;
using System.Text;
using MySql.Data.MySqlClient;
using System.Diagnostics;
using System.IO;
using System.Net.Sockets;
using System.Net;
using System.Threading;
using System.Text.RegularExpressions;


namespace Server
{
  class Client
  {
    public Client(TcpClient Client)
    {                                                          
      string Request = "null";                          
      byte[] Buffer = new byte[1024];                           
      int Count;
      while (( Count = Client.GetStream().Read(Buffer, 0, Buffer.Length) ) > 0)
      {
        Request += Encoding.ASCII.GetString(Buffer, 0, Count);
        if (Request.IndexOf("\r\n\r\n") >= 0 || Request.Length > 4096)
        {
          break;
        }
      }
      Client.Close();

      Console.WriteLine("Request: ", Request);
    }
  }

  class Server
  {
    TcpListener Listener; 
    public Server(int Port)
    {
      Listener = new TcpListener(IPAddress.Any, Port);
      Listener.Start();
      Console.WriteLine("Server is working....");
      while (true)
      {   
        TcpClient Client = Listener.AcceptTcpClient();
        Console.WriteLine("New client is connected");
        Thread Thread = new Thread(new ParameterizedThreadStart(ClientThread));
        Thread.Start(Client);
      }
    }

    static void ClientThread(Object StateInfo)
    {
      new Client((TcpClient)StateInfo);
    }

    ~Server()
    {
      if (Listener != null)
      {
        Listener.Stop();
        Console.WriteLine("Server is stoped.");
      }
    }


    static void Main(string[] args)
    {
      new Server(8080);
    }
  }
}

Приклад клієнта

using System;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using System.Net.Sockets;

namespace HttpClientSample
{
  class Program
  {
    static void Main()
    {
      TcpClient client = new TcpClient();
      client.Connect("127.0.0.1", 8080);
      if (client.Connected == true)
        Console.WriteLine("Client is connected to server");
      else
        Console.WriteLine("Client couldn't connect to server");
      string message = "test";
      Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
      NetworkStream stream = client.GetStream();
      stream.Write(data, 0, data.Length);
      Console.WriteLine("Sent: {0}", message);
      client.Close();
      Console.ReadKey();
    }
  }
}

If показує що клієнт приєднався до сервера.
Не вдається відобразити повідомлення з клієнта на сервері.
Можливо щось роблю не так, прошу допомогти. Не дуже розуміюся в цій темі.