C#中的MultiClient TCP服务器

时间:2017-02-02 20:48:58

标签: c# tcp server

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

我还要求它允许它们随时断开连接并重新连接,并且每当它们发送TCP消息以便逻辑在其后面运行时也是如此。

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

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

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;

还有客户代码,我不打算放在这里,因为我不相信它是必要的。如果您对客户有任何问题或改进/修改,请询问/告诉我,我会看一看。

我被告知有办法通过另一个线程做到这一点,但我还没有得到如何接近它的线索。

0 个答案:

没有答案