ホームページ >バックエンド開発 >Python チュートリアル >Python でのプロセス間通信の簡単な例

Python でのプロセス間通信の簡単な例

WBOY
WBOYオリジナル
2016-06-16 08:43:051623ブラウズ

この記事の例では、Python が 2 つのプログラム間の通信を実装する方法を説明します。具体的な方法は次のとおりです。

この例はソケットを使用して実装されています。ソケット ネットワーク プログラミングとは異なり、socket.socket(socket.AF_UNIX、socket.SOCK_STREAM) の最初のパラメータはsocket.AF_UNIX

です。 代わりにsocket.AF_INET
この例では、2 つの Python プログラム s.py/c.py を最初に実行する必要があります
fedora13/python2.6 テストに基づいて、正常に実装されました。

s.py コードは次のとおりです:

#!/usr/bin/env python
import socket
import os

if __name__ == '__main__':
  sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
  conn = '/tmp/conn'
  if not os.path.exists(conn):
  os.mknod(conn)
  if os.path.exists(conn):
  os.unlink(conn)
  sock.bind(conn)
  sock.listen(5)
  while True:
  connection,address = sock.accept()
  data = connection.recv(1024)
  if data == "hello,server":
    print "the client said:%s!\n" % data
      connection.send("hello,client")
  connection.close() 

c.py コードは次のとおりです:

#!/usr/bin/env python
import socket
import time

if __name__ == '__main__':
  sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
  conn = '/tmp/conn'
  sock.connect(conn)
  time.sleep(1)
  sock.send('hello,server')
  print sock.recv(1024)
  sock.close() 
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。