ポート 25 でリッスンし、一連の操作を実行する小さなプロキシ サーバーを作成しました。
安全な SMTP の場合、プロセスを fork し、子プロセスがこのセッションを引き継ぐようにします。
思考プロセスは、この子プロセスが特定のクライアントの要求に応えるものであるべきだというものでした。メールを送信する別のクライアントがいる場合 (保護されています)、別のプロセスをフォークする必要があります。
しかし、子プロセスがクライアントのリクエストを処理すると、リッスンし続けますが、このクライアントには対応しません。親プロセスはすでにこのソケットをリッスンしているため、毎回新しいプロセスをフォークします。
この状況をどのように処理できますか? プロセスがクライアント (IP アドレス) に対してフォークされた場合、新しいフォークは発生しません。既存の子プロセスは、これらの要求を処理する必要があります。
プログラムは C ベースで、Linux 上で実行されます。