python - 如何通过 UDP 将一个 Python 程序的标准输出发送到另一个使用 BASH 的标准输入?

标签 python linux bash ubuntu udp

我正在运行 foo.py在 Ubuntu 盒子 A 上,我想喂它 stdoutstdinbar.py在 Ubuntu 盒子 B 上运行。
我认为 python foo.py | /dev/udp/12.34.56.78:1234将从盒子 A 发送到盒子 B,但我怎样才能拿起数据包并将它们送入 bar.py ?
我需要像 udp_listener localhost:1234 | bar.py 这样的东西但是(如果那是正确的)实际的语法是什么?

最佳答案

在你的 Ubuntu 盒子 B 上,运行

nc -klu -p 1234 | cat
在你的 Ubuntu 盒子 A 上,运行
echo "Hello world" > /dev/udp/12.34.56.78/1234
如果可行,请替换 catbar.py并替换 echo "Hello world"python foo.py您可能需要为 boxB:1234/udp 打开防火墙

关于python - 如何通过 UDP 将一个 Python 程序的标准输出发送到另一个使用 BASH 的标准输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70712700/

相关文章:

python - 如何根据 IntervalIndex 对跳过的日期时间的值求和?

python - 为什么这个映射 lambda 函数在应用于 pandas 数据框时花费太多时间?

linux - 刷新页面时出现数据库被锁定的错误

linux - 如果 docker 使用底层 linux 操作系统,为什么要在 Dockerfile 的 FROM 行中指定操作系统

mysql - 在 bash 脚本中运行 mysql 命令,无需登录或在每个命令中添加 -u root

bash - eval - 如何跳过单引号中的 $ 字符被评估

python - BasicRNNCell 中的内部变量

python - 使用 elasticsearch dsl 执行嵌套搜索

linux - awk - solaris 中的反引号以接受命令行 arg

python - 将生成器设置为 PyQt4 信号的参数