python - Python 和 C 之间独立于操作系统的程序间通信

标签 python c networking network-protocols inter-process-communicat

我不太清楚我在这里做什么,我以前从未做过这样的事情,但我和一个 friend 正在编写相互竞争的国际象棋程序,他们需要能够相互交流。

他将主要用 C 编写,我的大部分将使用 Python,我可以看到一些选项:

  • 交替写入临时文件或连续的临时文件。由于通信不会以任何方式变得笨重,这可能会奏效,但对我来说似乎是一个丑陋的解决方法,程序将不得不不断检查更改/新文件,这看起来很丑陋。
  • 找到一些操纵管道的方法,即 mine.py| 。/他的 。这似乎有点死胡同。
  • 使用套接字。但是我不知道我会做什么,所以有人可以给我一些阅读 Material 的指示吗?我不确定是否有独立于操作系统、独立于语言的方法。是否必须要有某种监督服务器程序来管理?
  • 使用某种 HTML 协议(protocol),这似乎有点矫枉过正。我不介意程序必须在同一台机器上运行。

人们推荐什么,我可以从哪里开始阅读?

最佳答案

如果您想要并需要真正独立于操作系统、独立于语言的进程间通信,套接字可能是最佳选择。

这将允许这两个程序也可以跨机器通信(无需更改代码)。

阅读 Material ,这里是Python Socket Programming How To .

关于python - Python 和 C 之间独立于操作系统的程序间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3001827/

相关文章:

javascript - 如何使用本地网络中的 Node 后端访问我的 React 应用程序?

python - 编程错误 : Wrong number of arguments during string formatting

python - 使用 python 和 tensorflow 旋转 90、180 和 270

python - Apache:标题之前的脚本输出结束

正在复制字符串 :while loop breaks on the first condtion only using C

c++ - 是否可以将 C++ 命名空间添加到 C 库中的所有符号?

c++ - C++类网络编程的段错误

python - 外部库使用 print 而不是 return

我可以假设所有平台都支持 `printf` 的颜色吗?

networking - 如何将 Docker 网络暴露给主机?