本文实例讲解了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/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()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。