お互いに話したいソフトウェア コンポーネントが 2 つあります。
- node.js Web アプリケーション
- C で記述された専用サーバー (他の言語ではラップしたくないあいまいなライブラリを処理するかなり単純なコード)
私がしたい会話はとてもシンプルで、
- ノード: セットアップ リソース ID A
- C アプリ: OK、これが ref num です
また
- ノード: この参照を削除します
- C アプリ: わかりました。
2つの間でメッセージを渡す簡単な方法はありますか?
現在の私の理論的な考えは、次のようなものです。
- 2 つのプロセス間に 1 つの tcp/unix ソケットを配置し、1 つのセッションのみを使用して、常にセッションを開いたり閉じたりしないようにします (一度に多くのセッションが発生することも懸念されます)。
- 一致する各ノード要求と C アプリ応答には同じ ID が付けられます (単一の TCP セッションを介した TCP 風のセッション)
- 関連するノード要求ごとに C アプリへのメッセージが生成され、応答オブジェクトがセッション ID をキーとしてハッシュに格納されます。
- C アプリの応答を収集し、セッション ID で応答オブジェクトを検索し、クライアントに応答する単一ノード スレッドを用意する
それはひどく非効率的ですか?
ノードに実際にスレッドのサポートはありますか? (短いグーグルでは具体的な結果は得られませんでした)