2015-11-03 58 views
0

所以这是我想要完成它:嵌入式C:不同的进程发送/接收数据到相同的输入/输出

Processes communication diagram

  1. Telnet客户端发送一个命令,Telnet服务器(过程1); - DONE

  2. 过程1的发现,其以下的处理(2,3,4等)将执行该命令,并调用该过程 - DONE

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

  4. 过程2会在过程1完成后告诉过程1。

我最大的(也许是唯一的)问题是关于第3步。怎样才能以有效的方式实现?是否只是将进程1的标准输入到进程2的标准输入,然后将进程2的标准输出标记为进程1的标准输出?

+0

不适用于嵌入式设备。 – Olaf

回答

1

这并不是说这个问题与嵌入式有什么关系,但是“正确”的方法是让telnet服务器充当客户端和子进程2 ... n之间所有通信的中介。

我高度怀疑声称,使客户和流程2,...,N之间的管道从客户端到子会更“高效”处理通信的,除非你在测量效率等待时间(即你正在做最短的时间是需要的东西......就像高频股票交易)。

它不仅仅是管道stdin /标准输出。服务器需要以编程方式将stdin/out(可能是stderr)镜像到telnet的套接字。

相关问题