2010-01-13 60 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(); 

}}