簡體   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