代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
C#
】
实现简单的 Ping 的功能,用于测试网络是否已经联通
作者:
新玄
/ 发布于
2016/5/24
/
775
1. 根据IP地址获得主机名称 /// <summary> /// 根据IP地址获得主机名称 /// </summary> /// <param name="ip">主机的IP地址</param> /// <returns>主机名称</returns> public string GetHostNameByIp(string ip) { ip = ip.Trim(); if (ip == string.Empty) return string.Empty; try { // 是否 Ping 的通 if (this.Ping(ip)) { System.Net.IPHostEntry host = System.Net.Dns.GetHostEntry(ip); return host.HostName; } else return string.Empty; } catch (Exception) { return string.Empty; } } 说明:如果你的电脑可以上网你甚至可以查询到:IP地址“64.233.189.104”是 Google 的一个名为“hk-in-f104.google.com”的主机的IP地址。 既然说了如何“根据IP地址获得主机名称”,那就要再说说如何“根据主机名获得主机的IP地址”吧。 2. 根据主机名获得主机的IP地址 /// <summary> /// 根据主机名(域名)获得主机的IP地址 /// </summary> /// <param name="hostName">主机名或域名</param> /// <example> GetIPByDomain("http://www.google.com%22);%3c/example> /// <returns>主机的IP地址</returns> public string GetIpByHostName(string hostName) { hostName = hostName.Trim(); if (hostName == string.Empty) return string.Empty; try { System.Net.IPHostEntry host = System.Net.Dns.GetHostEntry(hostName); return host.AddressList.GetValue(0).ToString(); } catch (Exception) { return string.Empty; } } 说明:如果你的电脑可以上网你甚至可以查询到:“www.google.com”的IP地址是“64.233.189.104”。 最后,再说说C#实现简单的 Ping 的功能,用于测试网络是否已经联通。 3. C#实现简单的 Ping 的功能,用于测试网络是否已经联通 /// <summary> /// 是否能 Ping 通指定的主机 /// </summary> /// <param name="ip">ip 地址或主机名或域名</param> /// <returns>true 通,false 不通</returns> public bool Ping(string ip) { System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping(); System.Net.NetworkInformation.PingOptions options = new System.Net.NetworkInformation.PingOptions(); options.DontFragment = true; string data = "Test Data!"; byte[] buffer = Encoding.ASCII.GetBytes(data); int timeout = 1000; // Timeout 时间,单位:毫秒 System.Net.NetworkInformation.PingReply reply = p.Send(ip, timeout, buffer, options); if (reply.Status == System.Net.NetworkInformation.IPStatus.Success) return true; else return false; } private void button1_Click(object sender, EventArgs e)//获取IP { textBox2.Text=GetIpByHostName(textBox1.Text); } private void button2_Click(object sender, EventArgs e)//获取主机名 { textBox1.Text=GetHostNameByIp(textBox2.Text); } private void button3_Click(object sender, EventArgs e)//获取本机IP { string hostName = System.Net.Dns.GetHostName(); IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(hostName); //Dns.GetHostByName(myName);已过时 IPAddress[] addr = ipEntry.AddressList; textBox2.Text = addr[0].ToString(); } /// <summary> /// 局域网搜索事件 /// </summary> private void LanSearch() { string localhost = (Dns.GetHostEntry(Dns.GetHostName())) .AddressList[0].ToString(); //本地主机IP地址 string str = localhost.Substring(0, localhost.LastIndexOf(".")); for (int i = 0; i < 255; i++) //建立255个线程扫描IP { string ip = str + "." + i.ToString(); this.Text = ip; if (Ping(ip)) { listBox1.Items.Add(ip); Application.DoEvents(); } progressBarSearch.Value = progressBarSearch.Value + 1; } } private void button4_Click(object sender, EventArgs e)//在线主机 { LanSearch(); }
试试其它关键字
同语言下
.
C#实现的html内容截取
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
.
实现对图片上传的接收
.
去除字符串中的空格,回车,换行符转变成‘;’在按‘
.
按照回车换行符分割字符串
.
文件MD5码 比较,检测文件是否一样
可能有用的
.
C#实现的html内容截取
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
.
实现对图片上传的接收
.
去除字符串中的空格,回车,换行符转变成‘;’在按‘
.
按照回车换行符分割字符串
.
文件MD5码 比较,检测文件是否一样
新玄
贡献的其它代码
(
13
)
.
判读两个字符串是否存在交集(类似1,2,3字符串)
.
JS实现简单的缓慢动画
.
修改字段允许为空
.
阳历转农历
.
统计文本中某个字符串出现的次数
.
实现简单的 Ping 的功能,用于测试网络是否已经联通
.
Jquery-使元素居屏幕中间位置
.
jQuery小技巧-隐藏搜索文本框文字
.
调用系统里默认的邮件客户端
.
所在城市的简单注册
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3