Тема: 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 показує що клієнт приєднався до сервера.
Не вдається відобразити повідомлення з клієнта на сервері.
Можливо щось роблю не так, прошу допомогти. Не дуже розуміюся в цій темі.