我已经完成了一些研究,并且有不同的方法:
这是不可能的
这是一个愚蠢的问题
各种解决方法,但是我对SO充满信心,所以我请尝试一下。
所以,如果这个问题有1)或2)作为答复,我将其删除并且没问题。
#1 楼
谢谢你们的支持。我终于使用了Helmar所描述的方法,在该方法中,我尝试达到所需的目标并进行查看。如果我可以从目标中获得答复,则说明我的连接处于活动状态并且可以正常工作,否则,我设法断开设备连接并尝试使用新的新连接重试。#2 楼
我不能依靠ping等操作系统功能。
自己执行ping操作。您可能会找到适合您平台的示例。
或通过您可以支持的其他协议与某些服务联系;只是不要假设该服务将在设备的整个生命周期内保持可用,除非它是您管理的服务器。
我需要从互联网访问设备并与之交换数据
如果您的实际目标是允许入站流量,那通常是一个坏主意,并且最终用户很难使其网络允许。取而代之的是,您通常会建立/维护与服务器的出站连接,该服务器可以在该服务器下建立隧道或中继经过审核的针对您设备的传入流量。您可以很容易地为使该隧道保持/维护/重新连接的代码配备输出机制,以指示其运行状况。
评论
您正在使用该设备做什么?如果您的主要功能不起作用,是否可以通过互联网连接检查来验证连接是否正常?@Helmar我需要确保互联网连接正常,因为我需要从互联网访问设备并与之交换数据
我不确定我了解您要做什么。您的目标是随时通过Internet远程访问设备,对吗?因此,您已经可以在Internet上控制下一个活动组件。您为什么不尝试到达该组件并尝试执行任何尝试以在失败的情况下重新建立连接?
是的,我认为您所说的可能是最聪明的事情……有时我迷失于不是问题的问题,我对嵌入式环境还很陌生,很容易感到困惑。谢谢!稍后我将发布答案以结束问题。