4

ドキュメントで概説されているループ構造の修正バージョンを使用して、HTTP::Daemonのローカルインスタンスを実行しています。ユーザーの要求に応じてループを終了することを可能にしましたが、その後Perlスクリプトを実行するとエラーが発生します。

HTTP ::デーモン:アドレスはすでに使用されています... / path / to / script行NNN、行3で伝播されます。

良い市民になり、デーモンの後で片付けるには、これ以上何をしなければなりませんか?

4

1 に答える 1

5

ほとんど何もありません。アドレスは、前のインスタンスからの残りの接続によって使用されています。それらがすべてシャットダウンされるとすぐに、アドレスは自動的に解放されます。

このプロセスを高速化する場合は、バインドする前にSO_REUSEADDRソケットオプションを設定できます。詳細については、PERLソケットのドキュメントを参照してください。「未処理の接続がない状態でサーバーが停止した場合、setsockopt()関数を使用してオプションSO_REUSEADDRを使用しない限り、ポートはすぐに再利用できません。」

于 2011-11-08T00:37:26.467 に答える