Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 3812|回复: 7

终端、服务器心跳监控(Ping)源码

[复制链接]

该用户从未签到

发表于 2011-8-31 08:39:03 | 显示全部楼层 |阅读模式
背景:
1、使用lnet做了WinCE的客户端以及Win32的服务器端,WinCE在休眠之后会因为lnet的通讯异常导致程序崩溃而退出,并且这种异常无法捕捉、处理。
解决办法:
1、如果不保持lnet的联机状态,的确系统不会异常、退出,但每次都需要连接(需有有延时之后才能发消息),效率很低。
2、有必要做一个‘心跳’监控,在使用lnet通讯之前确定客户端是否已与服务器断开,如断开则提示重新连接lnet。
3、Indy等包含icmp组件支持ping功能,但实践证明indy不支持WinCE。
4、此后分别查到icmp.dll 、iphlpapi.dll等组件可以实现ping的功能,经实践icmp、iphlpapi在Win32下很好用,但WinCE下icmp无法使用,iphlpapi反馈结果不正确(应该是本人二次封装导致的,原因未明)。
5、再后来群中有位朋友介绍了synapse v39(一个类indy的组件包),查了一下帮助写了一个Ping的小程序,在Win32、WinCE下通过(liunx等操作系统肯定不好用,因为这个组件包的ping也是基于iphlpapi.dll的)。

谢谢大家的帮助,才能搞定这个问题。
感恩吗!所以贡献出源码及组件包。
PS:使用USB联接线、模拟器均无法真实反应网络状态,如果进行测试请使用硬件设备选用Wifi或GPRS等环境。

直接使用网盘下载: SPing.rar

评分

参与人数 2威望 +6 收起 理由
猫工 + 1 正是有了大家对lazarus的帮助,lazarus才会越来越好
电影迷 + 5

查看全部评分

回复

使用道具 举报

该用户从未签到

发表于 2011-8-31 10:14:09 | 显示全部楼层
我顶你!虽然我不做WinCE下的程序。

不过WinCE下QQ这些程序好像是可以一直连接的吧。
也许微软有相关的api吧。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-8-31 10:33:39 | 显示全部楼层
正是有了大家对lazarus的帮助,lazarus才会越来越好
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2021-8-26 17:08
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2011-8-31 13:11:24 | 显示全部楼层
    感谢无私共享,对你的深入研究精神表示敬佩。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2011-8-31 16:28:15 | 显示全部楼层
    正是有了大家对lazarus的帮助,lazarus才会越来越好
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2011-9-6 10:48:24 | 显示全部楼层
    谢谢您对我们的支持
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2011-9-6 11:14:25 | 显示全部楼层
    好的!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-8-21 14:05:30 | 显示全部楼层
    下不成么。。。。
    回复 支持 反对

    使用道具 举报

    *滑块验证:

    本版积分规则

    QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

    GMT+8, 2025-5-2 22:59 , Processed in 0.030216 second(s), 11 queries , Redis On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表