私の目標は、受信したデータを別のコンピュータに転送することです。同じネットワークに接続されている3つのデバイス(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)
しかし、何も転送しません。解決策はありますか?