У меня есть простой сервер, который ждет подключения клиента, читает входящий поток и отправляет сообщение обратно. Я хотел бы, чтобы каждое соединение обрабатывалось отдельным потоком. Я впервые работаю с сокетами и потоками в C #, и большинство примеров, которые я нашел, действительно сбивают с толку, поэтому любая помощь или простые примеры будут высоко оценены.
Вот то, что у меня сейчас есть.
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.Text;
[STAThread]
static void Main(string[] args)
{
TestServer ts = new TestServer();
ts.Start();
}
class TestServer
{
private readonly int port = 48888;
private readonly IPAddress ip = IPAddress.Parse("127.0.0.1");
private TcpListener listener;
public TestServer()
{
this.listener = new TcpListener(this.ip, this.port);
}
public void Start()
{
this.listener.Start();
Console.WriteLine("Server Running...");
Socket s;
Byte[] incomingBuffer;
int bytesRead;
Byte[] Message;
while (true)
{
s = this.listener.AcceptSocket();
incomingBuffer = new Byte[100];
bytesRead = s.Receive(incomingBuffer);
string message = "Hello from the server";
Message = Encoding.ASCII.GetBytes(message.ToCharArray());
s.Send(Message);
}
}
}