擅长:python、mysql、java
<blockquote>
<p>for 2 Python programs on the same system to talk to each other</p>
</blockquote>
<p>不要使用插座。使用管道。你知道吗</p>
<p>在网络中,套接字本质上是应用层和传输层之间的链接。这就是为什么你需要提供一个IP和端口号-这些是重要的地址信息,任何人看你的电脑外部。这也是为什么你有数据报和流-TCP和UDP是两个主要的传输层协议,当你建立到传输层的链接时,你需要指定你想要使用的协议。套接字用于使用网络进行通信—在同一系统上的两个进程之间有替代的、更有效和更简单的通信方式。你知道吗</p>
<p>管道更像是专门用于进程间通信的文件描述符。基本上有两种使用管道的方法-命名管道和匿名管道。如果您的“两个python程序”是使用<code>multiprocessing</code>之类的东西从一个原始程序中分离出来的,那么您可能需要使用匿名管道,您可以使用<a href="https://docs.python.org/3/library/os.html#os.pipe" rel="nofollow noreferrer">^{<cd2>}</a>来设置它。否则,您需要为您的管道找出一个两个程序都知道的一致的名称和位置,并在一端用<a href="https://docs.python.org/3/library/os.html#os.mkfifo" rel="nofollow noreferrer">^{<cd3>}</a>初始化它,然后像在另一端打开一个常规文件一样打开它。这个功能似乎只在Unix上可用,因此如果您在Windows上,您可能需要<a href="https://stackoverflow.com/questions/48542644/python-and-windows-named-pipes">investigate other solutions</a>。你知道吗</p>