我做在C#端口掃描器,但我似乎不能讓它走得更快:端口掃描器慢
private void Scan()
{
int startPort = Convert.ToInt32(txtFrom.Text);
int endPoint = Convert.ToInt32(txtTo.Text);
progressBar1.Value = 0;
progressBar1.Maximum = endPoint - startPort + 1;
for (int currPort = startPort; currPort <= endPoint; currPort++)
{
TcpClient tcpportScan = new TcpClient();
tcpportScan.SendTimeout = 10;
try
{
tcpportScan.Connect(txtIPaddress.Text, currPort);
txtDisplay.AppendText("Port " + currPort + " open.\n");
}
catch (Exception)
{
txtDisplay.AppendText("Port " + currPort + " closed.\n");
}
progressBar1.PerformStep();
}
}
有誰知道如何加速這一進程?
這幾乎完美:D!我編輯了代碼,以便將每個打開和關閉的端口放入一個字符串列表中。這是完美的工作,但我唯一的問題是,進度條沒有更新後,他發現第一個開放端口:(。對此有什麼想法?謝謝! –
好的。我們需要在Connect()成功後調用Close() ? – Muthukkumaran
否Close()由TcpClient.Dispose()調用。 –