Tag: tcplistener

正确的方法来停止TcpListener

我目前使用TcpListener来解决传入的连接,每个连接都有一个处理通信的线程,然后closures那个单一的连接。 代码如下所示: TcpListener listener = new TcpListener(IPAddress.Any, Port); System.Console.WriteLine("Server Initialized, listening for incoming connections"); listener.Start(); while (listen) { // Step 0: Client connection TcpClient client = listener.AcceptTcpClient(); Thread clientThread = new Thread(new ParameterizedThreadStart(HandleConnection)); clientThread.Start(client.GetStream()); client.Close(); } listenvariables是一个布尔types,它是类中的一个字段。 现在,当程序closures时,我希望它停止监听客户端。 将listen设置为false将防止它接受更多的连接,但是由于AcceptTcpClient是一个阻塞调用,它将至less取下一个客户端,然后退出。 有什么办法可以迫使它只是突然停止,那么在那里? 调用listener.Stop()时有什么效果,而另一个阻塞调用正在运行?

Web服务器可以处理多less个套接字连接?

说如果我要共享,虚拟或专用主机,我读了一个服务器/机器一次只能处理64,000个TCP连接,这是真的吗? 无论带宽多less,任何types的主机都可以处理? 我假设HTTP在TCP上工作。 这是否意味着只有64,000个用户可以连接到该网站,如果我想提供更多的服务,我将不得不迁移到一个networking农场?