如何将接收到的数据转发到网络命名空间?

如何将接收到的数据转发到网络命名空间?

我的目标是将收到的数据转发到另一台电脑。我有三个设备(A、B 和 C)连接到同一网络。 A使用pyzmq发布B订阅的数据。然后,B 必须通过网络命名空间将收到的数据发送给 C。这是我在 B 中执行的原始代码。

import subprocess
import zmq
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect("tcp://10.1.24.50:4000")
socket.subscribe("")
while True:
    print("message rcv")
    data = socket.recv_string() 
    command = ['sudo', 'ip', 'netns', 'exec', 'ue1', 'ping', '-i', '1', '-c', '1', '-s', str(len(data)), '8.8.8.8'] 
    print(data)
    subprocess.run(command, input=data, text=True)

但是,它不传输任何内容。有什么解决办法吗?

相关内容