【问题标题】:Accessing localhost API endpoint from different machine从不同的机器访问 localhost API 端点
【发布时间】:2016-11-12 07:37:12
【问题描述】:

我的计算机中插入了一个压力传感器,收集数据的唯一方法是通过 localhost API 端点,这意味着现在只有那台机器可以收集数据。有什么方法可以从另一台机器上的 localhost API 接收数据?如果这很重要,我还需要每秒 ping API 20-40 次。

【问题讨论】:

  • 是的,有一种方法:您创建一个服务器来监控传感器并且其他系统可以连接到该服务器,并将服务器程序检测到的更改推送到其他系统。

标签: networking network-programming localhost hosting self-hosting


【解决方案1】:

我可以想到几种方法,我假设两台机器都在同一个网络上

  1. 使用 localhost API 收集数据库中的数据,并在同一应用程序中创建一个 GET 端点,以根据您的参数获取数据。您可以通过点击本地机器的网络 IP 地址从不同的机器访问 GET 端点。您可以在终端中使用ifconfig 命令检查,检查en0 类型,您会在其中找到类似192.168.X.X 的内容。在其他机器上,您可以点击http://192.168.X.X:<port>/getData,其中<port> 是本地主机端口。

  2. 如果你不想使用数据库,那么你可以使用实时发布订阅机制。见http://autobahn.ws/python/

发布订阅如何工作?

You will have to make your localhost machine a publisher (server) which will publish events or sensor data in your case (real time). The other machine will be subscriber (client ) which will listen to the events from your server and do necessary processing.

它使用WAMP(Web 应用程序消息传递协议)进行通信。基本发布者和订阅者的示例代码可以在here找到。

【讨论】:

    【解决方案2】:

    按照步骤:

    1:下载ngrok,

    2 : 转到 ngrok.exe 文件所在的路径并在 cmd 中打开该路径。

    3:连接您的帐户。 粘贴:ngrok authtoken1pA6advIt950uA4y2Rixgc8rdx9_23MSDokKjWhbPUW3NSrZK

    4:更换您的端口,不包括支架。 粘贴:ngrok http {9003} -host-header="localhost:{9003}"。

    5 : 复制正行并粘贴到其他系统查看。 转发http://d1c0bc16ff7b.ngrok.io

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-10
      • 1970-01-01
      • 2018-03-23
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      相关资源
      最近更新 更多