2010-01-13 59 views

回答

4

如果你有太多的數,他們不接受()?

+2

你可能會想接受,然後發送一個數據包解釋說,服務器已滿然後斷開,來代替。 – 2010-01-13 14:39:01

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(); 

}}