从不同的机器访问 localhost API 端点

Accessing localhost API endpoint from different machine

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

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

  1. 使用本地主机 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 application messaging protocol) for communication. The sample code for basic publisher and subsriber can be found here

按照以下步骤操作:

1 : 下载 ngrok,

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

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

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

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