Delphi - Server Monitor开发并实现指定端口定时…
2019-12-09 16:00:49来源:博客园 阅读 ()
Delphi - Server Monitor开发并实现指定端口定时刷新、重启和邮件提醒等功能
项目背景
近期,总经办邮件反馈考勤数据频繁丢失,请IT排查其根本原因,并提供整改措施。
措不及防,这个项目当初并不是IT主导的,是设备部采购,然后协同软件供应商直接安装、部署和调试的,IT只是提供几个数据库表接口给供应商。然后我们就开始在设备、总经办、供应商之间相互扯皮,之所以扯皮的原因是,经过供应商排查并没有发现任何问题(具体情况不得而知),也就是说他们也不知道造成数据丢失的具体原因。
求人不如求己,后来我们这边排查数据库日志,发现在数据丢失的时间段内,数据库和上位机之间很少或者说基本没有数据交互。继续排查设备上位机日志,发现其网络端口会有间歇性响应异常等问题,重启端口后一切正常。
知道这些以后,那接下来问题就简单了。
解决方案
-
项目总目标
客制化一个系统/脚本,实现定时检测某个网络端口相关功能是否正常,通过其DLL接口实现端口刷新或重启,并将日志通过邮件方式发送给指定人员。
-
节点目标一:网络端口通断检测模块;
-
节点目标二:DLL接口重写,实现端口刷新或重启模块;
-
节点目标三:日志检测和邮件发送模块;
-
节点目标四:定时模块。
关键模块Demo
下面给出几个关键模块Demo
网络端口检测模块(需要引用IdIcmpClient单元)
1 var 2 icmp: TIdIcmpClient; 3 rpss: TReplyStatus; 4 begin 5 icmp := TIdIcmpClient.Create(nil); 6 try 7 icmp.Host := strIP; 8 icmp.ReceiveTimeout := intLinkTimeOut; 9 try 10 icmp.Ping; 11 rpss := icmp.ReplyStatus; 12 Result := not (rpss.ReplyStatusType = rsTimeOut); 13 except 14 Result := False; 15 end; 16 finally 17 icmp.Free; 18 end; 19 end;
Dll接口模块
关于Dll接口其实没什么可说的,不同的接口使用方法不一样,这里给出通用的Dll接口重写和调用的例子
关于Delphi Dll接口重写:Delphi - 创建SuperDll 持续更新
关于Delphi Dll接口调用:Delphi - 调用SuperDll 持续更新
邮件发送模块
参考我以前写过的:Delphi - Indy TIdMessage和TIdSMTP实现邮件的发送
定时模块
采用Timer控件,通过前台设置执行间隔、Enable属性,来控制对关键事件的定时执行效果
测试Demo运行效果
页面布局
运行效果
作者:Jeremy.Wu
出处:https://www.cnblogs.com/jeremywucnblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文链接:https://www.cnblogs.com/jeremywucnblog/p/12010439.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Delphi10.3的ListView学习(大图标) 2020-06-05
- Delphi10.3的SpeedButton/BitBtn学习 2020-06-05
- Delphi10.3状态栏上显示进度条/图片 2020-06-02
- Delphi10.3下自带系统托盘 TrayIcon的使用 2020-06-01
- delphi10.3安装使用mySQL 2020-05-31
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash