[英]Embedded C: Different processes sending/receiving data to same input/output
因此,这就是我想要实现的目标:
Telnet客户端向Telnet服务器发送命令(过程1); -完成
进程1查找以下哪个进程(2、3、4等)将执行该命令并调用该进程-完成
Telnet客户端现在需要查看其他正在执行命令的进程(例如,进程2)的输出。 进程2可能还需要Telnet客户端的一些额外输入。 这些是红色的外部箭头。
流程2完成后将通知流程1。
我最大(也许唯一)的问题是关于步骤3的。如何有效地做到这一点? 仅仅是将流程1的stdin传递到流程2的stdin,然后将流程2的stdout传递给流程1的stdout的问题?
并不是说这个问题与嵌入式程序有关,而是“正确”的方法是让telnet服务器充当客户端与子进程2 ... n之间所有通信的中介。
我非常怀疑这样的说法,即在客户端和流程2 ... n之间建立一条管道来处理从客户端到子流程的通信会更“有效”,除非您要测量延迟效率(即正在从事可能需要最短时间的工作(例如高频股票交易)。
它不只是传递stdin / stdout。 服务器需要以编程方式将stdin / out(可能还有stderr)镜像到telnet的套接字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.