亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

一款域名監控小工具 Domain(IP)Watcher 實現代碼

2020-01-24 03:42:33
字體:
來源:轉載
供稿:網友
監控給定的域名,一旦域名連續30秒(這是默認值,可以在源碼中修改)無法Ping通,立刻發郵件到指定郵箱,并發短信給站長

原理:

  用后臺線程循環每隔5秒鐘Ping結定的域名,如果連接5次Ping不通則發送郵件到給定郵箱。發短信是通過其他途徑實現的,現在最常用的有兩種方式:

  一是利用QQ郵箱的手機綁定功能實現收到郵件短信提示

  二是用www.ifttt.com提供的gmail跟sms服務實現收到郵件發短信提示

  本工具用的是第一種。
主要程序:
  主要是后臺線程ping域名的應用,界面上顯示記錄的是一個richtextbox控件,其他幾個就不說了,代碼如下:
  窗體后臺程序:
復制代碼 代碼如下:

public partial class FormMain : Form, IFormWorkThread
{
private delegate void ControlDelegate(string record);
private WorkThread wtObj;
ControlDelegate cdObj;
public FormMain()
{
InitializeComponent();
cdObj = SetRecord;
}
private void FormMain_Load(object sender, EventArgs e)
{
}
private void btnBegin_Click(object sender, EventArgs e)
{
if (txtDomain.Text.Trim() == "")
{
MessageBox.Show("Domain(IP) can not be empty!");
return;
}
if (txtEmail.Text.Trim() == "")
{
MessageBox.Show("Email address can not be empty!");
return;
}
Regex regex = new Regex(@"/w+([-+.']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*");
if (!regex.IsMatch(txtEmail.Text.Trim()))
{
MessageBox.Show("Email address error!");
return;
}
wtObj = new WorkThread(this, 0, 3, txtDomain.Text.Trim(), txtEmail.Text.Trim());
wtObj.StartShowResult();
}
private void SetRecord(string record)
{
rtxtRecord.AppendText(record);
if (rtxtRecord.Lines.Length > 5 * 60 * 24 * 7)
{
rtxtRecord.Clear();
}
}
public void ShowResult(string record)
{
if (rtxtRecord.InvokeRequired)
{
Invoke(cdObj, record);
}
else
{
SetRecord(record);
}
}
private void btnEnd_Click(object sender, EventArgs e)
{
if (wtObj != null)
{
wtObj.EndShowResult();
}
}
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (wtObj != null)
{
wtObj.EndShowResult();
}
}
private void tslblName_Click(object sender, EventArgs e)
{
OpenMyBlog();
}
private void OpenMyBlog()
{
var Info = new System.Diagnostics.ProcessStartInfo("http://artwl.cnblogs.com");
System.Diagnostics.Process.Start(Info);
}
}

IFormWorkThread接口:
復制代碼 代碼如下:

public interface IFormWorkThread
{
void ShowResult(string record);
}

WorkThread代碼:
復制代碼 代碼如下:

public class WorkThread
{
private IFormWorkThread _formWorkThread;
private Thread thread;
private int count = 0, maxcount = 5;
private string domain = "";
private string emailaddress = "";
public WorkThread(IFormWorkThread formWorkThread,int count,int maxcount,string domain,string email)
{
this.count = count;
this.maxcount = maxcount;
this.domain = domain;
this.emailaddress = email;
_formWorkThread = formWorkThread;
}
private string Ping(string domainname)
{
Ping ping = new Ping();
PingReply pr = ping.Send(domainname);
if (pr.Status == IPStatus.Success)
{
count = count > 0 ? count - 1 : 0;
}
else
{
count++;
if (count > maxcount)
{
EmailHelp.SendEmail(emailaddress,
string.Format("【 {0} 】不能訪問啦!",domainname),
string.Format("【 {0} 】不能訪問啦!<br/><br/>【時間】{1}<br/><br/>【Ping】當前ping的結果為:{2}", domainname,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), pr.Status),
true);
count = 0;
}
}
return "【Time】:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "/t【Domain】:" + domainname + "/t【Status】:" + pr.Status.ToString() + "/t【RoundtripTime】:" + pr.RoundtripTime.ToString() + "/n";
}
public void Deal()
{
while (true)
{
Thread.Sleep(5000);
string result = Ping(domain);
_formWorkThread.ShowResult(result);
}
}
public void StartShowResult()
{
thread = new Thread(new ThreadStart(Deal));
thread.Name = "TimeThread";
thread.Start();
}
public void EndShowResult()
{
thread.Abort();
}
}

發郵件代碼:
復制代碼 代碼如下:

public class EmailHelp
{
public static void SendEmail(string[] emailAddress, string subject, string body, bool ishtml)
{
MailMessage msg = new MailMessage();
foreach (string o in emailAddress)
{
msg.To.Add(o);
}
msg.Subject = subject;//郵件標題
msg.Body = body;//郵件內容
msg.IsBodyHtml = ishtml;//是否是HTML郵件
Thread sendemail = new Thread(SendReplyEmail);
sendemail.Start(msg);
}
public static void SendEmail(string to, string subject, string body, bool ishtml)
{
SendEmail(new string[] { to }, subject, body, ishtml);
}
private static void SendEmail(MailMessage mailMessage)
{
mailMessage.From = new MailAddress("emailaddress", "網站檢測郵件", System.Text.Encoding.UTF8);
mailMessage.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標題編碼
mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//郵件內容編碼
mailMessage.Priority = MailPriority.Normal;//郵件優先級
SmtpClient client = new SmtpClient();
//注冊的郵箱和密碼
client.Credentials = new System.Net.NetworkCredential("emailaddress", "password");
client.Port = 25;
client.Host = "smtp.qq.com";
client.EnableSsl = false;
try
{
client.Send(mailMessage);
}
catch (System.Net.Mail.SmtpException ex)
{
//log.Error(ex.Message);
}
}
private static void SendReplyEmail(object model)
{
SendEmail((MailMessage)model);
}
}

注:發郵件的代碼中emailaddress跟password要換成你自己的郵件地址跟密碼。另外下載的exe文件為保證可用,我用的郵箱地址跟密碼沒有去掉,請大家也不要反編譯后查看(這只是一個coding時的測試郵箱,沒什么價值,賺不到錢的)。
工具下載地址 Domain(IP)Watcher
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人精品一区二区三区电影黑人| 久久99久久99精品免观看粉嫩| 亚洲一区二区三| 国外成人免费在线播放| 97精品一区二区视频在线观看| 国产精品久久9| 国产成人精品免费视频| 欧美精品免费在线| 久久手机精品视频| 久久久精品久久久久| 欧美综合激情网| 国产成人综合精品在线| 成人免费高清完整版在线观看| 国产精品久久99久久| 亚洲精品xxxx| 欧美日韩在线免费| 成人av在线天堂| 亚洲国产天堂久久综合网| 欧美亚洲成人xxx| 亚洲最大在线视频| 亚洲一区二区三区四区视频| 欧美国产精品日韩| 久久久久久97| 九九热这里只有在线精品视| 精品国产成人av| 亚洲成人999| 亚洲区在线播放| 亚洲国产精品美女| 久操成人在线视频| 91亚洲人电影| 日韩精品中文字幕在线观看| 97在线免费观看| 黑人巨大精品欧美一区二区免费| 57pao国产精品一区| 欧美精品一区在线播放| 国产精品视频中文字幕91| 国产精品男人爽免费视频1| 国产精品自拍小视频| 日韩精品中文字幕在线| 久青草国产97香蕉在线视频| 91美女高潮出水| 亚洲精品视频二区| 98视频在线噜噜噜国产| 亚洲一区二区三区香蕉| 亚洲精品美女久久久| 精品人伦一区二区三区蜜桃网站| 亚洲一品av免费观看| 亚洲精品色婷婷福利天堂| 成人亚洲综合色就1024| 欧美一级片在线播放| 国产精品久久久一区| 久久久女人电视剧免费播放下载| 亚洲free性xxxx护士白浆| 久久精品国产精品亚洲| 国内精品中文字幕| 国产成人aa精品一区在线播放| 亚洲的天堂在线中文字幕| 久久久之久亚州精品露出| 久久精品国亚洲| 成人免费福利在线| 国产精品视频专区| 久久久久久久影视| 亚洲欧美日韩天堂| 91日本在线视频| 韩剧1988免费观看全集| 精品女厕一区二区三区| 欧美精品精品精品精品免费| 中文字幕日韩精品在线观看| 日韩视频第一页| 国产精品免费一区二区三区都可以| 国产精品久久久一区| 久久伊人精品一区二区三区| 国产欧美日韩中文字幕在线| 国产99久久精品一区二区| 日韩美女在线观看一区| 久久综合久久美利坚合众国| 欧美日韩午夜视频在线观看| 亚洲第一色中文字幕| 亚洲欧洲一区二区三区在线观看| 国产精品美女网站| 91久久夜色精品国产网站| 97香蕉超级碰碰久久免费软件| 精品中文字幕在线观看| 91在线观看免费| 91国产精品视频在线| 国产有码一区二区| 色一区av在线| 伊人久久男人天堂| 爽爽爽爽爽爽爽成人免费观看| 精品国产老师黑色丝袜高跟鞋| 国模视频一区二区三区| 91久久久精品| 91精品国产成人| 欧美性xxxxx极品| 91av在线免费观看| 久久这里有精品视频| 欧美激情在线视频二区| 久久青草福利网站| 日韩av网址在线| 国产日本欧美一区二区三区在线| 亚洲裸体xxxx| 国产精品成熟老女人| 成人av资源在线播放| 色yeye香蕉凹凸一区二区av| 日韩av理论片| 国内精品久久久久久中文字幕| 亚洲精品在线看| 91免费在线视频| 亚洲人a成www在线影院| 欧美中文在线观看国产| 国产丝袜一区二区三区免费视频| 色香阁99久久精品久久久| 亚洲天堂视频在线观看| 国产在线播放不卡| 久久69精品久久久久久久电影好| 欧美激情xxxx| 日本不卡高字幕在线2019| 欧美资源在线观看| 日韩av片永久免费网站| 成人黄色大片在线免费观看| 亚洲欧美www| 亚洲精品日韩欧美| 性欧美xxxx交| www.日韩av.com| 色视频www在线播放国产成人| 久久中国妇女中文字幕| 麻豆一区二区在线观看| 国产亚洲aⅴaaaaaa毛片| 国产精品99久久久久久人| 欧美放荡办公室videos4k| 4388成人网| 在线视频欧美性高潮| 久久国产色av| 欧美激情网站在线观看| 国产美女直播视频一区| 欧洲s码亚洲m码精品一区| 亚洲成人精品在线| 国产精品成人久久久久| 91经典在线视频| 国产成人精品午夜| 欧美性videos高清精品| 久久精品国产2020观看福利| 亚洲社区在线观看| 欧美日韩午夜激情| 成人免费淫片aa视频免费| 国产精品444| 日本免费一区二区三区视频观看| 色琪琪综合男人的天堂aⅴ视频| 国产xxx69麻豆国语对白| 国产在线观看91精品一区| 久久91精品国产91久久久| 国内自拍欧美激情| 夜色77av精品影院| 成人久久久久爱| 国产精品高清在线观看| 亚洲三级黄色在线观看| 精品久久久久久久久久久久久久| 日韩高清电影免费观看完整版| 亚洲精品少妇网址| 国产精品第2页| 久久理论片午夜琪琪电影网| 亚洲人成毛片在线播放| 久久影院资源站| 亚洲永久免费观看|