- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
区域虚拟地震台网数据流监控软件研发
赵 楠1) 石英杰1) 江沛春2)
1)安徽237000六安市地震台
2)安徽237000六安市地震局
摘要 以C语言为基础,通过循环ping命令,通过统计网络连接环境下转发服务器的丢包数,获得规定时间内的丢包率,实现日志记录,判断网络时延丢包或网络中断,在网络中断时及时报警,达到状态实时监控,快速发现数据断记,及时修复数据。
关键词 网络传输;实时监控;数据中断
(
安徽省及周边近年发生强有感地震,如:2005年江西九江5.7级、2006年安徽定远4.2级2011年安徽安庆4.8级地震地震速报快速、准确安徽虚拟台网都是传输道进行实时数据接收(吴永权等,2013),中心转发流服务器发送实时数据,通过多级网络路由和信息点,经常因网络传输道中出现不稳定问题而导致传输数据中断或大量丢包及时发现因网络中断信道不稳定省局台网中心转发服务器虚拟台网运行不稳定问题,进一步完善虚拟台网运行状态监控智能化。ping命令,连接数据服务器或转发流服务器IP地址。ping命令可以检查网络中断与否,同时也可看出网络传输的延迟率,也就是网络传输的质量(王中等,2009)(周超等,2003)。基于此原理,编写一个自动执行批处理小程序,ping命令循环执行流程见图1。
用ping的功能,部分代码如下
DWORD WINAPI Thread(LPVOID lpParam)
{
CMyPingDlg *tDlg = (CMyPingDlg *)lpParam;
tDlg-GetDlgItem(IDC_HOST)-EnableWindow(FALSE);
tDlg-GetDlgItem(IDC_BUTTON1)-EnableWindow(FALSE);
char host[100];
tDlg-GetDlgItemText(IDC_HOST,host,100);
FILE *p = fopen(PingLog.txt, wb);
fclose(p);
int offLineCounter = 20;
while(1)
{
tDlg-pingThrough = 0;
CTime pinTime = CTime::GetCurrentTime();
tDlg-m_result = pinTime.Format(%Y-%m-%d %H:%M:%S) + 实时状态:\r\n;
tDlg-m_pinger.SetConfigure(host,0);
tDlg-m_pinger.Ping();
tDlg-m_pinger.Cleanup();
if(tDlg-pingThrough == 0)
{
tDlg-m_result = tDlg-m_result + (不能Ping通。)\r\n\r\n;
tDlg-SetDlgItemText(IDC_EDIT2,tDlg-m_result);
offLineCounter = offLineCounter + 1;
if(offLineCounter == 30)
{
tDlg-Warning();
offLineCounter = 0;
}
}
else if(tDlg-pingThrough == 1)
{
tDlg-m_result = tDlg-m_result + (可以ping通。)\r\n\r\n;
tDlg-SetDlgItemText(IDC_EDIT2,tDlg-m_result);
offLineCounter = 20;
}
FILE *p = fopen(PingLog.txt, ab);
fwrite(tDlg-m_result.GetBuffer(0), tDlg-m_result.GetLength(), 1, p);
fclose(p);
Sleep(3000);
}
return NULL;
}
以上显示的Sleep(3000)3 000 ms,此循环结束一次,暂停3 s进行下一次循环(程序可以在此处根据需要任意修改设置Sleep的间隔时间)。
将ping的结果写入m_result,通过if语句,将结果分为两种情况,并加上备注——可以ping通或不能ping通。将pingtxt文档且获取系统时间,txt文档以系统时间命名,部分代码如下
CString GetLogNameLoc()
{
CTime ct = CTime::GetCurrentTime();
CString name = ct.Format(%Y%m%d) + .log.txt;
return n
您可能关注的文档
最近下载
- 实验六文本文件的简单应用.doc VIP
- 厨房各作业区点心配菜冷菜间卫生控制.pdf VIP
- 生产安全管理人员考试_金属冶炼(铝及铝合金制造与铸造)_练习题及答案_共350题_第2套_2021_练习模式.pdf VIP
- 风景园林(景观设计)专业中级职称理论考试题库-上(单选题汇总).docx VIP
- 药事管理与法规课程标准.docx VIP
- IEC60664-1 2007 - 标准体系文件资料.pdf VIP
- 10J121《外墙外保温建筑构造》.pdf
- 风景园林(景观设计)专业中级职称理论考试题库-下(多选题汇总).docx VIP
- 危重患者的病情观察ppt课件.pptx VIP
- 《用字母表示数》说课稿-2024-2025学年五年级上册数学人教版[001].docx
文档评论(0)