[問題] subprocess.Popen 和 IPC 衝突?
需要讓 A 和 B 兩個程式用 socket 交談,如果讓 A 和 B 分開執行沒問題
但讓 A 以 subprocess.Popen 執行 B 時,只能同時執行一次
如果在前一個 A 和 B 還存在時再執行第二次
會出現
socket.error: [Errno 10048] 一次只能用一個通訊端位址
請問這該如何解決?
照理說有把 listen 的 socket 關掉,且分開執行沒問題
用 subprocess.Popen 執行也不應該會有問題才對阿
code 如下
========== server.py ==========
import socket
address = ('127.0.0.1', 12345)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(address)
import subprocess # 注解掉這兩行即可分開執行
subprocess.Popen('client.py', shell=True) # 且分開執行多次也不會出問題
s.listen(0)
conn, addr = s.accept()
s.close()
raw_input('server connected by %s\n' % repr(addr))
#========= client.py ==========
import socket
address = ('127.0.0.1', 12345)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(address)
raw_input('client connected\n')
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.46.124.87
→
03/01 00:45, , 1F
03/01 00:45, 1F
→
03/01 13:59, , 2F
03/01 13:59, 2F
→
03/01 14:00, , 3F
03/01 14:00, 3F
→
03/01 14:01, , 4F
03/01 14:01, 4F
→
03/01 14:36, , 5F
03/01 14:36, 5F
→
03/01 15:29, , 6F
03/01 15:29, 6F
→
03/01 15:30, , 7F
03/01 15:30, 7F
→
03/01 15:31, , 8F
03/01 15:31, 8F
→
03/01 15:36, , 9F
03/01 15:36, 9F
→
03/01 16:32, , 10F
03/01 16:32, 10F
→
03/01 16:33, , 11F
03/01 16:33, 11F
→
03/01 16:34, , 12F
03/01 16:34, 12F
→
03/01 16:34, , 13F
03/01 16:34, 13F
→
03/01 16:36, , 14F
03/01 16:36, 14F
→
03/01 20:14, , 15F
03/01 20:14, 15F
Python 近期熱門文章
PTT數位生活區 即時熱門文章