gpt4 book ai didi

compact-framework - 复制智能设备的logmein.com行为

转载 作者:行者123 更新时间:2023-12-04 08:37:16 26 4
gpt4 key购买 nike

我有几个智能设备,它们使用.NETCF 3.5编写的应用程序运行Windows CE5。智能设备通过集成的GPRS调制解调器连接到Internet。我的客户希望使用远程支持选项,但VNC和类似工具似乎无法完成这项工作。我发现VNC出现了几个问题,使其无法正常工作。首先,在智能设备上运行时,它存在严重的性能问题。第二个问题是,互联网提供商有一个防火墙,可以阻止所有传入的请求,如果它们不是来自智能设备本身。因此,由于请求不是来自智能设备,因此无法启动与智能设备的远程桌面会话。

我们可以得到自己的APN,但是它们太昂贵了,并且每月的费用对于我们部署的智能设备的数量来说太高了。如果我们可以将开发成本添加到初始产品成本中,对我们而言更经济,因为我们的客户不喜欢高昂的每月成本,而是愿意支付大量的预付款。远程支持解决方案还将使我们能够最大程度地减少现场支持。

这就是为什么我们或多或少决定推出自己的远程桌面解决方案的原因。我们具有用于在智能设备上捕获图像的代码,并且仅获取自上一个周期以来发生更改的数据。我们需要做一个通信解决方案,例如logmein.com(不支持WinCE5),在该解决方案中,智能设备连接到服务器,然后我们可以从该服务器将数据流式传输到支持人员的客户。基本上,智能设备会启动与我们服务器的连接,并在服务器请求时开始提供屏幕数据。支持客户端连接到服务器并获取可用流的列表,然后选择一个进行监听。

考虑到我们必须在智能设备上执行.NETCF 3.5中的解决方案,对此有何建议?除了简单的肥皂网络服务之外,我们的交流经验有限。

最佳答案

由于您要提出建议,因此我建议您这样做:

不要重新发明。重用您所能。您可以使用SSH进行隧道传输,因此可以通过智能设备上的GPRS建立SSH连接(例如,在回路内的PuTTY或plink端口);将远程端口转发到绑定到SSH服务器本地地址(127.0.0.1(sshd):4567 => localhost(smart_device_01):4567)的本地端口。您的客户端连接到SSH服务器并访问每个设备的分配端口。

话虽如此,这可能不是您要找的答案。下面-您可能正在寻找的答案。



根据我对LogMeIn的工作原理的分析,您将需要构建一个HTTPS或TLS服务器,智能设备将在其中推送数据。我们称它为隧道服务器。

您可能希望产生一个新线程,该线程反复尝试建立与隧道服务器的连接(根据您的指定要求,从智能设备到服务器的出站连接)。使用像BEEP / BXXP这样的协议,您可以封装和复用面向消息的会话或面向流的会话。将BXXP / BEEP包装为TLS,并通过隧道连接到您的隧道服务器。 BEEP使您可以将流多路复用到一个连接上-如果您想要内部LogMeIn解决方案的全部功能,则需要使用类似的东西。

建立连接后,进行新的BEEP会话。通过新的会话,告诉隧道服务器您的系统标识信息(设备名称,设备身份验证签名)。将心跳数据(定期添加时间戳)写入此新会话。

设置一个与BEEP控制会话连接的回调(或另一个线程)。留意请求服务的消息。当出现此类请求时,请生成所需的线程以从自定义远程显示协议复制数据,然后通过同一通道将该数据推回。

这为您的智能设备程序设置了基本前提。您可以根据需要添加功能,例如,匹配LMI的IT Reach订阅提供的功能(远程注册表,安全隧道Telnet,远程文件系统,远程打印,远程声音...您就可以了)

我将做一些假设,您知道如何正确保护所有这些内容以用于客户端的身份验证和授权(是否允许用户foo访问智能设备栏?)。

在隧道服务器上,启动用于多路分解连接和会话的服务器套接字(侦听入站连接,或者从智能设备的角度看,智能设备出站连接)。打开连接后,启动BEEP并注册回调/启动线程以等待身份验证/心跳会话。对智能设备执行AAA所需的检查-是否允许这些设备,已知这些设备,成本多少等,您的隧道服务器会代表智能设备转发数据。对于每个BEEP会话,在AAA过程成功后,将一个名称(设备名称)附加到BEEP会话;如果出现故障,请关闭连接并让AAA机制知道(阻止攻击者)。您的隧道服务器还应该设置与前端交互所需的内容-也就是说,它应该具有与BEEP交互的代码,以多路分解流以显示远程显示数据。

在前端服务器(可以与隧道服务器位于同一框)上,安装AAA例程-检查用户是否已知,是否允许用户,应向用户收费多少,等等。通过,从前端服务器到隧道服务器建立安全连接。获取隧道服务器知道允许用户访问的设备名称。此时,您应该能够从隧道服务器获得基于设备名称的“明文”流。将此流转发回用户(例如,通过TLS或再次通过TLS上的BEEP),或发送所需的配置,以使远程显示客户端使用所需的参数连接到隧道服务器,以访问远程显示协议的流。

关于compact-framework - 复制智能设备的logmein.com行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com