请问有关C#写端口扫描的问题,谢谢高手!
try 
 			{ 
 				this.progressBar1.Maximum   =   ijiesu; 
 				this.progressBar1.Minimum   =   ikaishi; 
 				this.richTextBox1.Text   =    "开始扫描端口:   \n "; 
 				this.richTextBox1.Update(); 
 				for(int   i=   ikaishi;i <ijiesu;i++) 
 				{ 
 					this.progressBar1.Value=   i; 
 					TcpClient      MyTCP   =   null; 
 					try 
 					{ 
 						MyTCP   =   new   TcpClient(this.textBox1.Text,i); 
 						this.richTextBox1.Text   +=    "端口: "+i.ToString()+ "开放!   \n "; 
 						this.richTextBox1.Update();   
 					} 
 					catch 
 					{ 
 						this.richTextBox1.Text   +=    "端口 "+i.ToString()+ "没有开放      \n "; 
 						this.richTextBox1.Update(); 
 					} 
 				} 
 				this.richTextBox1.Text   =    "扫描结束! "; 
 			} 
 			catch 
 			{ 
 				MessageBox.Show( "扫描错误 "); 
 			}   
 有try效率很慢啊~~有办法优化吗?? 
 还有~通过MyTCP   =   new   TcpClient(this.textBox1.Text,i); 
 好象不可以扫出开放端口啊~~ 
 是不是方法错了?还是怎么的? 
 高人指点下~谢谢@!
------解决方案--------------------catch指定具体的Exception类型 
 设置一下超时时间   
 要不然扑捉所有异常的话超时默认是30S你要等30S才有回应