5
Listener server process and a Client processのいずれかがPythonインタプリタを使用し、もう1つがpypyインタプリタを使用することはできますか?マルチプロセッサリスナとクライアントとPythonとPypyの間
conn.send()
とconn.recv()
は相互運用できますか?
Listener server process and a Client processのいずれかがPythonインタプリタを使用し、もう1つがpypyインタプリタを使用することはできますか?マルチプロセッサリスナとクライアントとPythonとPypyの間
conn.send()
とconn.recv()
は相互運用できますか?
私が見て、それを試してみた:
import sys
from multiprocessing.connection import Listener, Client
address = ('localhost', 6000)
def client():
conn = Client(address, authkey='secret password')
print conn.recv_bytes()
conn.close()
def server():
listener = Listener(address, authkey='secret password')
conn = listener.accept()
print 'connection accepted from', listener.last_accepted
conn.send_bytes('hello')
conn.close()
listener.close()
if __name__ == '__main__':
if sys.argv[1] == 'client':
client()
else:
server()
は、私が得た結果は、:
サーバーである問題ではありませんPyPy 1.7を(使用して、クライアントこれは作業)、エラーはIOError: bad message length
と報告されます。これは、the report on the pypy-dev mailing listも反映しています。しかし、これは最近修正された(夜間ビルドで動作する)ので、次のバージョン(おそらく1.8)も同様に修正する必要があります。
一般に、これはマルチプロセッシングモジュールがPythonのpickleモジュールを使用しているため、一般的に動作します。これは安定しており、複数のPython実装、PyPyでもサポートされています。
あなたはバグレポートを見つけたことは素晴らしいことです! – Jonathan
これをテストいただきありがとうございます! – Demolishun