嗨,我最终确定了我计划建立的一个项目的软件架构。解决方案就像 -
在单独的家庭网络(专用地址)A和B中有2个设备.A充当数据源,并通过TCP向经过身份验证的用户提供对数据源的访问。用户使用B通过Web浏览器从A获取数据。认证现在不是问题所在。
中央服务器S具有公共IP地址,充当中继b / w A和B. S通过B访问的Web服务器托管Web应用程序。当浏览器请求数据时,Web应用程序需要从设备A获取此数据。
在同一服务器S上有一个应用程序,它与设备A建立了TCP连接。因此,基本上对于Web应用程序来获取数据,其中一种方法是从此应用程序请求它,然后将其取出来自A.为此我可以从这个应用程序中公开一个可以获取数据的Web服务。
第一个问题 - 这种方法是否足够好?还是有更好的选择
第二 - 由于具有TCP连接的应用程序可能希望与设备A通信以获取更新或其他内容,我希望在此应用程序中运行的执行线程与Web服务的上下文并行运行,这意味着在Web上应用程序调用Web服务,它将执行该作业,并且可能希望自己执行某些操作而不会被Web应用程序触发。
我可能错过了一些基本的东西,因为我不熟悉网络服务