まず各アプリケーションを確認し、ネット サービスを通じて http サービスをトリガーします。 リーリー
簡単に言うと、ネット サービスと http サービスの 2 つのサービスを初期化することです。クライアントが接続した後、ネット サービスを使用して http サービスの接続イベントをトリガーし、ソケットを http に渡します。サービス; 中にはコメントの行がありますが、サービスが閉じていることに注意してください。これには、サブプロセス モジュールとプロセス間の転送が含まれています。親プロセスファイル:
リーリー
サブプロセスファイル:
ご覧のとおり、親プロセス ファイルにもコメント行がありますが、ここのコメントを削除すると、サービスは正常に動作するようになります。これはなぜですか?
親プロセスのネットサービスが閉じられ、ポート3000をリッスンしなくなりました。理解できませんコードレベルでは、親プロセスが終了したことは理解できますが、子プロセスは終了していません。しかし、リクエストストリームはどのように実行されるのか、あるいはコードはどのように実行されるのか、私の考えは簡単な言葉で説明していますが、非常に読みにくいです
。阿神2017-05-16 13:47:26
Googleで調べたところ、stackoverflowで同様の質問が見つかりました
キーはこのセクションにあるはずです handleConversion
送信時にハンドルパラメータがある場合、handleConversion[type]が呼び出されます
type: "net.Server"の場合、送信されるのはserver._handle
であることがわかります受け取りはこんな感じです
つまり、親プロセスはserver._handle
を送信し、子プロセスはこのハンドルを使用してサーバーを再構築します
つまり、実際には、子プロセスのサーバーは親プロセスのサーバーとは異なります。親プロセスのクローズは自然です。子プロセスには影響しません
stackoverflowに関する質問はここにあります