2011-12-28 34 views

答えて

10

私が見て、それを試してみた:

  • CPythonの2.7 +はCPython 2.7:ここ

    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 + PyPy 1.7作業
  • CPython 2.7 + PyPy 1.7:not working
  • はCPython 2.7 + PyPy夜間(pypy-C-JIT-50911-94e9969b5f00-LINUX64):

サーバーである問題ではありませんPyPy 1.7を(使用して、クライアントこれは作業)、エラーはIOError: bad message lengthと報告されます。これは、the report on the pypy-dev mailing listも反映しています。しかし、これは最近修正された(夜間ビルドで動作する)ので、次のバージョン(おそらく1.8)も同様に修正する必要があります。

一般に、これはマルチプロセッシングモジュールがPythonのpickleモジュールを使用しているため、一般的に動作します。これは安定しており、複数のPython実装、PyPyでもサポートされています。

+0

あなたはバグレポートを見つけたことは素晴らしいことです! – Jonathan

+0

これをテストいただきありがとうございます! – Demolishun

関連する問題