繁体   English   中英

嵌入式C:不同的进程向同一输入/输出发送/接收数据

[英]Embedded C: Different processes sending/receiving data to same input/output

因此,这就是我想要实现的目标:

处理通讯图

  1. Telnet客户端向Telnet服务器发送命令(过程1); -完成

  2. 进程1查找以下哪个进程(2、3、4等)将执行该命令并调用该进程-完成

  3. Telnet客户端现在需要查看其他正在执行命令的进程(例如,进程2)的输出。 进程2可能还需要Telnet客户端的一些额外输入。 这些是红色的外部箭头。

  4. 流程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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM