Python使用Socket 进行进程间通信

本文介绍了Python中使用Socket进行进程间通信的过程,包括Server端的socket创建、监听、接受连接以及通信处理,以及Client端的连接和通信。重点讲述了AF_UNIX类型的Socket在本地通信中的应用,强调了Socket的关闭以及TIME_WAIT状态可能导致的问题和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

毫无关系的两个进程要通信,使用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。收到连接请求后,这些请求需要排队,如果队列满,就拒绝请求。


第四步是服务器套接字通过socket的accept方法等待客户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值