资源简介
我自学网络编程时,关于C#的一些内容,自己写的程序
代码片段和文件信息
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(“请输入正确的主机地址,该地址DNS无法进行解析““系统提示“);
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() + “端口开放“;
//多线程时不能直接调用UI线程中的控件
updatelist(msg);
tcp.Close();
}
catch
{
msg = port.ToString() + “端口不开放“;
updatelist(msg);
}
}
private void refreshlistbox(String str)
{
//判断该方法是否被主线程调用,也就是创建listBox控件的线程,当控件的InvokeRequired属性为ture时,说明是被主线程以外的线程调用。如果不加判断,会造成异常
if (this.listBox1.InvokeRequired)
{
//再次创建一个TestClass类的对象
//为新对象的updatelist对象搭载方法
this.updatelist = new UpdateListBox(refreshlistbox);
//th
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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个文件信息
- 上一篇:汉诺塔动态演示程序C#完整项目
- 下一篇:ASP.NET购物车系统详细代码
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论