python实现进程间通信简单实例
本文实例讲解了python实现两个程序之间通信的方法,具体方法如下:
该实例采用socket实现,与socket网络编程不一样的是socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)的第一个参数是socket.AF_UNIX
而不是socket.AF_INET
例中两个python程序s.py/c.py要先运行s.py
基于fedora13/python2.6测试,成功实现!
s.py代码如下:
#!/usr/bin/envpython importsocket importos if__name__=='__main__': sock=socket.socket(socket.AF_UNIX,socket.SOCK_STREAM) conn='/tmp/conn' ifnotos.path.exists(conn): os.mknod(conn) ifos.path.exists(conn): os.unlink(conn) sock.bind(conn) sock.listen(5) whileTrue: connection,address=sock.accept() data=connection.recv(1024) ifdata=="hello,server": print"theclientsaid:%s!\n"%data connection.send("hello,client") connection.close()
c.py代码如下:
#!/usr/bin/envpython importsocket importtime 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') printsock.recv(1024) sock.close()