ネットワーク プログラミングでは、unix-domain-socket は、同じマシン上のプロセス間の効率的な通信を可能にする一般的な通信方法です。ただし、unix-domain-socket は、ネットワーク障害やプロセスのクラッシュなど、さまざまな理由で障害が発生する可能性があります。アプリケーションの安定性と信頼性を確保するために、PHP エディター Xinyi は、開発者がこれらの問題を解決できるように、この記事で unix-domain-socket を監視するフェイルセーフな方法をいくつか紹介します。
このコードは、初めて実行すると正常に動作します:
リーリーしかし、2 回目の実行は失敗しました:
リーリー listen()
の前にファイルを削除することもできますが、このソケットをリッスンしているプロセスがすでに存在する場合、これは失敗する可能性があります。
プロセスがソケットをリッスンしているかどうかを検出する方法はありますか?
これで、古いサーバーが停止した場合は、古い dummy.socket ファイルを削除できます。
バインドする前に Unix ソケット ファイルを削除します。これは私だけが知っている「フェイルセーフ」方法です:
リーリー以上がunix-domain-socket をリッスンするフェイルセーフな方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。