请给我python3代码,两个进程,一个进程在端口a发包,另一个进程从端口a收包
时间: 2024-03-13 09:46:06 浏览: 55
以下是一个简单的 Python3 代码,它使用了 multiprocessing 和 socket 库来实现两个进程之间的通信。
```python
import multiprocessing
import socket
def send_packets(port):
# 创建一个 UDP 套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 发送数据到指定端口
sock.sendto(b"Hello, World!", ("localhost", port))
# 关闭套接字
sock.close()
def receive_packets(port):
# 创建一个 UDP 套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定到指定端口
sock.bind(("localhost", port))
# 接收数据
data, addr = sock.recvfrom(1024)
# 打印接收到的数据
print("Received:", data)
# 关闭套接字
sock.close()
if __name__ == "__main__":
# 定义端口号
port = 1234
# 创建两个进程,一个发送数据,一个接收数据
sender_proc = multiprocessing.Process(target=send_packets, args=(port,))
receiver_proc = multiprocessing.Process(target=receive_packets, args=(port,))
# 启动进程
sender_proc.start()
receiver_proc.start()
# 等待进程结束
sender_proc.join()
receiver_proc.join()
```
这个代码创建了两个进程,一个进程发送数据到指定端口,另一个进程从指定端口接收数据。在这个例子中,我们使用了 UDP 协议来发送和接收数据,但你也可以使用其他协议,比如 TCP。
阅读全文