有沒有辦法限制一個tcpListener可以接受的客戶端數量?如何約束一個TcpListener可以接受的客戶端數量?
0
A
回答
4
如果你有太多的數,他們不接受()?
1
你可以在你的事件處理程序算什麼
class Server()
{
private AutoResetEvent connectionWaitHandle = new AutoResetEvent(false);
public void Start() { TcpListener listener = new TcpListener(IPAddress.Any, 5555); listener.Start();
while(true)
{
IAsyncResult result = tcpListener.BeginAcceptTcpClient(HandleAsyncConnection, tcpListener);
connectionWaitHandle.WaitOne(); //Wait until a client has begun handling an event
}
}
私人無效HandleAsyncConnection(IAsyncResult的結果) { 的TcpListener監聽=(的TcpListener)result.AsyncState; TcpClient client = listener.EndAcceptTcpClient(result); connectionWaitHandle.Set(); //通知主線程現在這方面的處理
//... Use your TcpClient here
client.Close();
}}
你可能會想接受,然後發送一個數據包解釋說,服務器已滿然後斷開,來代替。 – 2010-01-13 14:39:01