问题解决——用心跳表示简单的连接状态 链路检测

==================================声明==================================

本文原创,转载在正文中显要的注明作者和出处,并保证文章的完整性。

未经作者同意请勿修改(包括本声明),保留法律追究的权利。

未经作者同意请勿用于出版、印刷或学术引用。

本文不定期修正完善,为保证内容正确,建议移步原文处阅读。

本文链接:http://www.cnblogs.com/wlsandwho/p/4238531.html

=======================================================================

写个串口通讯的小东西,由于下位机的同事只用了2、3、5针脚,所以只能自定义协议来模拟链路检测。

=======================================================================

本来想使用GetTickCount,用发送时间、接收时间、时间间隔,通过加减法来表示当前连接的状态。

但感觉太麻烦了,好麻烦啊,真的麻烦,不信自己试试。

所以,本着“能偷懒就偷懒 不能偷懒想办法偷懒”的原则,我决定另寻他路。

=======================================================================

艺术源于生活。

想到英语有“过去时”“现在完成时”“现在完成进行时”这些说法,略微(这是个虚词)思考了下,想了个方案。

=======================================================================

用0表示未连接

用1表示已连接

用2、3、4、5、……、N表示当前已连接,正在进行状态检测

那么这就好办了

从0到1 表示连接

从1到2 表示当前已连接,正在进行状态检测

从2到3 表示当前已连接,已经进行过状态检测,但没有响应,继续状态检测。

……

当收到响应时,将N从当前值改为1,表示已连接

当超过指定数值时,视为连接断开,将N从当前值改为0

=======================================================================

所以说学好英语、语文很重要。

================================耻辱墙===================================

http://www.cnblogs.com/wlsandwho/p/4206472.html

时间: 2024-11-08 23:55:41

问题解决——用心跳表示简单的连接状态 链路检测的相关文章

Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面

http://www.mobiletuts.me 获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager  类,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager 的作用: Class that answers queries about the state of network connectivi

Android编程 获取网络连接状态 及调用网络配置界面

获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager 类,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager的作用: Class that answers queries about the state of network connectivity. It also notifies applic

Android编程获取网络连接状态及调用网络配置界面

获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager 类,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager的作用: Class that answers queries about the state of network connectivity. It also notifies applic

网络设备之侦测连接状态

通常,网络设备会定时地侦测设备是否处于可传递状态.当状态发生变化时,会调用netif_carrier_on或者netif_carrier_off来通知内核: 从网上设备插拔网线或者另一端的设备关闭或禁止,都会导致连接状态改变: netif_carrier_on----设备驱动侦测到设备传递信号时调用 netif_carrier_off----设备驱动侦测到设备丢失信号时调用 上述两个状态改变函数均会调用linkwatch_fire_event将事件加入到事件队列进行调度: (netif_carr

李洪强iOS下的实际网络连接状态检测

iOS下的实际网络连接状态检测 序言 网络连接状态检测对于我们的iOS app开发来说是一个非常通用的需求.为了更好的用户体验,我们会在无网络时展现本地或者缓存的内容,并对用户进行合适的提示.对绝大部分iOS开发者来说,从苹果示例代码改变而来的各种Reachablity框架是实现这个需求的普遍选择,比如这个库.但事实上,基于此方案的所有实现,都无法帮助我们检测真正的网络连接状态,它们能检测的只是本地连接状态:这种情况包括但不限于如下场景: 1.现在很流行的公用wifi,需要网页鉴权,鉴权之前无法

iOS下的实际网络连接状态检测:RealReachability

序言 网络连接状态检测对于我们的iOS app开发来说是一个非常通用的需求.为了更好的用户体验,我们会在无网络时展现本地或者缓存的内容,并对用户进行合适的提示.对绝大部分iOS开发者来说,从苹果示例代码改变而来的各种Reachablity框架是实现这个需求的普遍选择,比如这个库.但事实上,基于此方案的所有实现,都无法帮助我们检测真正的网络连接状态,它们能检测的只是本地连接状态:这种情况包括但不限于如下场景: 1.现在很流行的公用wifi,需要网页鉴权,鉴权之前无法上网,但本地连接已经建立: 2.

如何判断当前网络连接状态(网络是否正常)

众所周知,我们在开发APP时,涉及网络连接的时候,都会想着提前判断一下当前的网络连接状态,如果没有网络,就不再请求url,省去不必要的步骤,所以,这个如何判断?其实很简单. 前提:工程添加:SystemConfiguration.framework 然后在需要判断的类中包含头文件: #import "Reachability.h" 下面是我写的一个方法: #pragma mark - 检测网络连接 + (BOOL)isConnectionAvailable { BOOL isExist

TCP连接状态具体解释

tcp状态: LISTEN:侦听来自远方的TCPport的连接请求 SYN-SENT:再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 ESTABLISHED:代表一个打开的连接 FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认 FIN-WAIT-2:从远程TCP等待连接中断请求 CLOSE-WAIT:等待从本地用户发来的连接中断请求 CLOSING:等待远程TCP对连接中断的确认 LAST-ACK:等待

怎样检查Android网络连接状态

在发送任何HTTP请求前最好检查下网络连接状态,这样可以避免异常.这个教程将会介绍怎样在你的应用中检测网络连接状态. 创建新的项目 1.在Eclipse IDE中创建一个新的项目并把填入必须的信息.  File->New->Android Project 2.创建新项目后的第一步是要在AndroidManifest.xml文件中添加必要的权限. 为了访问网络我们需要 INTERNET 权限 为了检查网络状态我们需要 ACCESS_NETWORK_STATE 权限 AndroidManifest