資源簡介
我自學(xué)網(wǎng)絡(luò)編程時(shí),關(guān)于C#的一些內(nèi)容,自己寫的程序

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Threading;
using?System.Threading.Tasks;
using?System.Windows.Forms;
using?System.Net;
using?System.Net.Sockets;
using?System.IO;
namespace?PortScan
{
????public?partial?class?MainWnd?:?Form
????{
????????string[]?portListArray?=?null;
????????static?int?portSum?=?0;
????????public?MainWnd()
????????{
????????????InitializeComponent();
????????????updatelist?+=?new?UpdateListBox(refreshlistbox);
????????}
????????private?void?button1_Click(object?sender?EventArgs?e)
????????{
????????????int?connState?=?0;
????????????String?scanHost?=?textBox1.Text;
????????????try
????????????{
????????????????IPAddress?ipaddr?=?(IPAddress)Dns.Resolve(scanHost).AddressList.GetValue(0);
????????????????textBox1.Text?=?ipaddr.ToString();
????????????}
????????????catch?{
????????????????textBox1.Focus();
????????????????MessageBox.Show(“請(qǐng)輸入正確的主機(jī)地址,該地址DNS無法進(jìn)行解析““系統(tǒng)提示“);
????????????????return;
????????????}
????????????/*
????????????Int32?threadNum?=?(Int32)startPort.Value;
????????????Int32?end?=?(Int32)endPort.Value;
????????????for?(;?threadNum?<=?end;?threadNum++)?{
????????????????NormalScan(threadNum);
????????????????listBox1.Refresh();
????????????}
????????????*/
????????????Int32?start?=?(Int32)startPort.Value;
????????????Int32?end?=?(Int32)endPort.Value;
????????????Int32?threadNum?=?end?-?start;
????????????portListArray?=?new?String[threadNum];
????????????ThreadPool.SetMaxThreads(threadNumthreadNum);
????????????????for(threadNum?=?start;threadNum?<=?end;threadNum++){
????????????????????ThreadPool.QueueUserWorkItem(new?WaitCallback(NormalScan)threadNum);
????????????????}
????????????
????????}
????????public?delegate?void?UpdateListBox(String?str);
????????private?UpdateListBox?updatelist;
????????private?void?NormalScan(object?state)?{
????????????Int32?port?=?(Int32)state;
????????????String?msg?=?““;
????????????TcpClient?tcp?=?new?TcpClient();
????????????try
????????????{
????????????????tcp.Connect(IPAddress.Parse(textBox1.Text)?port);
????????????????portSum++;
????????????????msg?=?port.ToString()?+?“端口開放“;
????????????????
????????????????//多線程時(shí)不能直接調(diào)用UI線程中的控件
????????????????updatelist(msg);
????????????????tcp.Close();
????????????}
????????????catch
????????????{
????????????????msg?=?port.ToString()?+?“端口不開放“;
????????????????updatelist(msg);
????????????}
????????????
????????}
????????private?void?refreshlistbox(String??str)
????????{
????????????//判斷該方法是否被主線程調(diào)用,也就是創(chuàng)建listBox控件的線程,當(dāng)控件的InvokeRequired屬性為ture時(shí),說明是被主線程以外的線程調(diào)用。如果不加判斷,會(huì)造成異常??
????????????if?(this.listBox1.InvokeRequired)
????????????{
????????????????//再次創(chuàng)建一個(gè)TestClass類的對(duì)象??
????????????????//為新對(duì)象的updatelist對(duì)象搭載方法??
????????????????this.updatelist?=?new?UpdateListBox(refreshlistbox);
????????????????//th
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????187??2016-05-19?20:04??PortScanMultiThread\PortScan\App.config
?????文件??????13312??2016-05-21?10:05??PortScanMultiThread\PortScan\bin\Debug\PortScan.exe
?????文件????????187??2016-05-19?20:04??PortScanMultiThread\PortScan\bin\Debug\PortScan.exe.config
?????文件??????30208??2016-05-21?10:05??PortScanMultiThread\PortScan\bin\Debug\PortScan.pdb
?????文件??????22984??2016-05-21?10:08??PortScanMultiThread\PortScan\bin\Debug\PortScan.vshost.exe
?????文件????????187??2016-05-19?20:04??PortScanMultiThread\PortScan\bin\Debug\PortScan.vshost.exe.config
?????文件????????490??2015-10-30?15:19??PortScanMultiThread\PortScan\bin\Debug\PortScan.vshost.exe.manifest
?????文件???????3631??2016-05-21?14:35??PortScanMultiThread\PortScan\MainWnd.cs
?????文件???????9854??2016-05-19?20:30??PortScanMultiThread\PortScan\MainWnd.Designer.cs
?????文件???????5817??2016-05-19?20:30??PortScanMultiThread\PortScan\MainWnd.resx
?????文件???????1308??2016-05-21?08:48??PortScanMultiThread\PortScan\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????7035??2016-05-21?09:24??PortScanMultiThread\PortScan\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件???????1591??2016-05-21?10:08??PortScanMultiThread\PortScan\obj\Debug\PortScan.csproj.FileListAbsolute.txt
?????文件????????977??2016-05-19?20:30??PortScanMultiThread\PortScan\obj\Debug\PortScan.csproj.GenerateResource.Cache
?????文件???????2209??2016-05-19?20:28??PortScanMultiThread\PortScan\obj\Debug\PortScan.csprojResolveAssemblyReference.cache
?????文件??????13312??2016-05-21?10:05??PortScanMultiThread\PortScan\obj\Debug\PortScan.exe
?????文件????????180??2016-05-19?20:30??PortScanMultiThread\PortScan\obj\Debug\PortScan.MainWnd.resources
?????文件??????30208??2016-05-21?10:05??PortScanMultiThread\PortScan\obj\Debug\PortScan.pdb
?????文件????????180??2016-05-19?20:28??PortScanMultiThread\PortScan\obj\Debug\PortScan.Properties.Resources.resources
?????文件??????????0??2016-05-19?20:04??PortScanMultiThread\PortScan\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件??????????0??2016-05-19?20:04??PortScanMultiThread\PortScan\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件??????????0??2016-05-19?20:04??PortScanMultiThread\PortScan\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件???????3840??2016-05-19?20:28??PortScanMultiThread\PortScan\PortScan.csproj
?????文件????????522??2016-05-19?20:12??PortScanMultiThread\PortScan\Program.cs
?????文件???????1336??2016-05-19?20:04??PortScanMultiThread\PortScan\Properties\AssemblyInfo.cs
?????文件???????2868??2016-05-19?20:04??PortScanMultiThread\PortScan\Properties\Resources.Designer.cs
?????文件???????5612??2016-05-19?20:04??PortScanMultiThread\PortScan\Properties\Resources.resx
?????文件???????1095??2016-05-19?20:04??PortScanMultiThread\PortScan\Properties\Settings.Designer.cs
?????文件????????249??2016-05-19?20:04??PortScanMultiThread\PortScan\Properties\Settings.settings
?????文件????????239??2016-05-19?20:11??PortScanMultiThread\PortScan\Scan.cs
............此處省略14個(gè)文件信息
評(píng)論
共有 條評(píng)論