【问题标题】:Simplest, easiest way for 2 Python scripts on 2 computers over local network to share data通过本地网络在 2 台计算机上的 2 个 Python 脚本共享数据的最简单、最简单的方法
【发布时间】:2019-09-27 10:59:28
【问题描述】:

计算机 A:有一个脚本,该脚本在运行时将返回发送到计算机的 iMessage 内容(来自 Messages.app)

计算机 B:有一个脚本可以显示计算机 A 接收到的 iMessage 的内容

这是想要的结果。目前我让它工作的方式都是在一台机器上,所以接收消息的计算机能够显示它。我尝试在计算机 B 上运行脚本,脚本通过 Mac 文件共享指向来自计算机 A 的消息文件的路径。这样做的问题是文件共享似乎非常断断续续,它经常断开连接或无法获取最新信息。当它全部在一台机器上运行时,它是即时的,没有延迟。

在两台计算机之间传输数据有哪些替代方法。计算机 B 可以触发计算机 A 运行获取数据的脚本,然后以某种方式将其发送到计算机 B 上的脚本吗?

感谢您的帮助!

如果不清楚,请告诉我,我会尝试详细说明

【问题讨论】:

  • 运行一个小的 Python web 服务怎么样?
  • 这将如何工作?如果可能的话,我会尽量避免它超出我们的本地网络
  • 您可以在本地网络中构建 Web 服务并像在“真实”互联网中一样发送 http 请求。
  • 我该怎么做呢?我没有太多使用网络语言,只是真正开始使用 Python - 查找如何做到这一点的最佳方法是什么?感谢您的帮助
  • 类似stackoverflow.com/a/41050031/2836172 的东西会比Web 框架容易一点。 @robscotts 的回答也不错。

标签: python macos networking ssh


【解决方案1】:

我建议您查看“pika”模块和 RabbitMQ 消息代理。他们的教程页面上的更多信息。 https://www.rabbitmq.com/tutorials/tutorial-one-python.html

可以在这里找到一个免费且简单的 RabbitMQ 服务器: https://www.cloudamqp.com/

【讨论】:

  • 我现在会阅读文档,但是您能否告诉我是否有人需要在两台机器上手动运行脚本才能使其工作?如果计算机 A 有数据,是否必须有人启动发送脚本,然后有人去计算机 B 启动接收脚本?还是接收脚本有办法自己触发发送脚本?
  • 你基本上保持接收脚本打开。它基本上是一个侦听器(您只需在终端中启动任务,或者如果您想要更高级的东西查看 cronjobs 或在启动时将在后台启动的东西),它将等待来自您发送消息的适当队列的消息。但不确定文件大小,对于简单的文本消息甚至图像,它对我来说都很好。对于发送,如果需要,最好有一些自动化脚本,它将您要发送的消息转换为适当的格式并将其发送到队列。
  • 那么运行发送消息的脚本的人,他们仍然可以在接收计算机上执行此操作吗?还是必须在包含源数据的计算机上运行发送脚本?
  • 它们可以完全分开并且可以在同一台计算机上运行,​​但是在这种情况下最好有单独的队列来区分接收到的消息。当然,在这两种情况下,脚本都必须从源脚本运行,具体取决于您的项目结构。如果您想要更复杂的发送和接收机制,我会使用多线程。
  • 我只是快速浏览本教程,复制并粘贴代码并使用它来查看它是否符合您的需求,并且可以用作原型。我认为您正在寻找的是消息代理,但我可能错了。
猜你喜欢
  • 2012-01-27
  • 2013-02-17
  • 1970-01-01
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
  • 2012-06-25
  • 2023-04-06
  • 1970-01-01
相关资源
最近更新 更多