毫无关系的两个进程要通信,使用socket是比较稳妥的方法。Socket 进程间通信主要分为 Client 端和 Server 端。Server 端主要是监听 socket请求,而 Client 端主要是发送请求,等待 Server 端的回复。
Server 端:
首先需要 socket 库: import socket
Instantiate 一个 socket 实例:sock = socket.socket ( socket.AF_UNIX, socket.SOCK_STREAM )
- 在 socket( ) 方法需要定义 1. socket 使用的环境, 因为是同一个系统下进程的通信,所以使用标识AF_UNIX。 2. 指定套接字类型,一般我们用 SOCK_STREAM(流套接字)。
第二步是将 socket 绑定到指定地址。这是通过socket对象的bind方法来实现的:socket.bind( address )
- 如果标识为AF_UNIX,地址只需要是localhost 就行了。不需要特别指定端口号。由AF_INET所创建的套接字,address地址必须是一个双元素元组,格式是 (host,port)
第三步是使用socket套接字的listen方法接收连接请求:socket.listen( backlog )
-backlog指定最多允许多少个客户连接到服务器。它的值至少为1。收到连接请求后,这些请求需要排队,如果队列满ÿ