public partial class Form1 : Form
{
private Thread T; //定义一个线程
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//点击开始扫描的功能
Result_List.Items.Clear();
T = new Thread(new ThreadStart(scanport)); //请求创建线程
T.Start();
}
void scanport()
{
try
{
TcpClient client = new TcpClient();
IPAddress address = IPAddress.Parse(IP_Address.Text);
int i = int.Parse(PortMin.Text);
int Max = int.Parse(PortMax.Text);
for (; i <= Max; i++)
{
try
{
//扫描制定的端口范围
client.Connect(address, i);
Result_List.Items.Add( address + "的端口" + i + "是打开的");
}
catch (SocketException)
{
Result_List.Items.Add( address + "的端口" + i + "是关闭的");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
}
}
using System.Net;
using System.Net.Sockets; //两个网络库
using System.Threading; //线程需要
网络Socket连接所需要的一般的两个库是上面的两个
第三个是需要线程编程的库
用ToolBox确实比MFC要容易,如果再更改,再贴代码
{
private Thread T; //定义一个线程
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//点击开始扫描的功能
Result_List.Items.Clear();
T = new Thread(new ThreadStart(scanport)); //请求创建线程
T.Start();
}
void scanport()
{
try
{
TcpClient client = new TcpClient();
IPAddress address = IPAddress.Parse(IP_Address.Text);
int i = int.Parse(PortMin.Text);
int Max = int.Parse(PortMax.Text);
for (; i <= Max; i++)
{
try
{
//扫描制定的端口范围
client.Connect(address, i);
Result_List.Items.Add( address + "的端口" + i + "是打开的");
}
catch (SocketException)
{
Result_List.Items.Add( address + "的端口" + i + "是关闭的");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
}
}
using System.Net;
using System.Net.Sockets; //两个网络库
using System.Threading; //线程需要
网络Socket连接所需要的一般的两个库是上面的两个
第三个是需要线程编程的库
用ToolBox确实比MFC要容易,如果再更改,再贴代码