C# C语言中的多客户端TCP服务器#

C# C语言中的多客户端TCP服务器#,c#,tcp,server,C#,Tcp,Server,我一直在开发一个TCP服务器,我要求它允许同时访问多个客户端 我还要求它允许他们在任何时候断开和重新连接,以及在任何时候发送TCP消息,以便逻辑在其后面运行 我设置了基本代码,允许一个用户同时连接,但不允许多个客户端 服务器代码-(第一部分,无逻辑) IPAddress ipAd=IPAddress.Any; TcpListener myList=新的TcpListener(ipAd,5001); myList.Start(); Console.WriteLine(“等待新连接”); Conso

我一直在开发一个TCP服务器,我要求它允许同时访问多个客户端

我还要求它允许他们在任何时候断开和重新连接,以及在任何时候发送TCP消息,以便逻辑在其后面运行

我设置了基本代码,允许一个用户同时连接,但不允许多个客户端

服务器代码-(第一部分,无逻辑)

IPAddress ipAd=IPAddress.Any;
TcpListener myList=新的TcpListener(ipAd,5001);
myList.Start();
Console.WriteLine(“等待新连接”);
Console.WriteLine(“来自-”+客户端的最后一次连接);
Console.Write(“Stats-Errors:”);
Console.BackgroundColor=ConsoleColor.Red;
控制台。写入(“+错误+”);
Console.BackgroundColor=ConsoleColor.DarkCyan;
Console.WriteLine();
Console.WriteLine();
控制台。写入(提要);
套接字s=myList.AcceptSocket();
client=Convert.ToString(s.RemoteEndPoint);
控制台。写入(提要);
字节[]b=新字节[100];
int k=s.Receive(b);
Console.WriteLine(“\n已收到消息”);
字符串msg=“”;
for(int i=0;i
还有客户端代码,我不打算在这里输入,因为我认为不需要它。如果您对客户有任何问题或改进/修改,请询问/告诉我,我会看一看


有人告诉我可以通过另一个线程实现,但我不知道如何实现。

将代码转换为异步或创建一个新线程以接受不同的连接。最简单的方法是使用
beginaceptsocket
我该怎么做?我对这一切都很困惑。
IPAddress ipAd = IPAddress.Any;
TcpListener myList = new TcpListener(ipAd, 5001);
myList.Start();

Console.WriteLine("Waiting for a new connection");
Console.WriteLine("Last Connection From - " + client);
Console.Write("Stats - Errors: ");
Console.BackgroundColor = ConsoleColor.Red;
Console.Write(" " + Errors + " ");
Console.BackgroundColor = ConsoleColor.DarkCyan;
Console.WriteLine();
Console.WriteLine();

Console.Write(feed);
Socket s = myList.AcceptSocket();

client = Convert.ToString(s.RemoteEndPoint);

Console.Write(feed);


byte[] b = new byte[100];
int k = s.Receive(b);
Console.WriteLine("\n Message Recieved");
string msg = "";
for (int i = 0; i < k; i++)
{
    msg = msg + Convert.ToChar(b[i]);
}
feed = feed + " \n " + msg;