使服务器-客户端无限工作

本文关键字:无限 工作 客户端 服务器 | 更新日期: 2023-09-27 18:08:21

如何使服务器和客户端无限制地运行并能够交换数据(意思是,直到应用程序关闭),而不是只运行一次信息交换。尝试while(true),但也许没有把它放在正确的地方,然后我不能真正达到关闭和停止套接字和监听器的方法。下面是一些服务器代码:

public static void StartServer()
        {
            try
            {
                IPAddress ip = IPAddress.Parse("192.168.1.11");
                TcpListener myListener = new TcpListener(ip, 8000);
                myListener.Start();
                Socket s = myListener.AcceptSocket();
                byte[] b = new byte[100];
                int k = s.Receive(b);
... some other actions ...
                s.Close();
                myListener.Stop();
            }

然后是Main(),我调用它。客户端也是如此。

使服务器-客户端无限工作

您可以创建一个无限循环,其中包含Receive函数处理数据,并返回接收。这样,服务器总是从客户端接收数据,直到服务器或客户端终止。

while(true)
{
       byte[] buffer = new byte[100];
       s.Receive(buffer);
       //Do something with data...
}

要小心,因为在当前的设计中只支持一个客户机。如果你想支持多个客户端,可以考虑使用线程。