0

サーバーとクライアントであるスクリプトを同時に作成する必要があります。

これは、リッスンから接続の試行に切り替える必要があります。

クライアントモードに進んで接続を試みている間、クライアントの接続を一時的にブロックする方法はありますか?

私が気付いた限りでは、これを止めるための恒久的な方法があり、それは再び聞き始めることを含み、私はそれを避けようとしています。

これは複数のサーバーで実行され、それ自体に接続する必要があるという考え方です。

接続が確立されるたびに、各当事者は、交換する必要があるものを交換すると、(クライアント/宛先)のリストから他の当事者を削除します。

そのため、リスナーが接続を試みている間、リスナーをブロックする方法が必要です。まれに、2つの接続がまったく同時に試行され、ピックアップされるのを待ってハングを購入しましたが、それは起こりません。

4

1 に答える 1

0

次のいずれかを実行できます。

  • close()リッスンソケット(および必要に応じて再度開く)
  • リッスンソケットが読み取り可能になった場合は、まだaccept()を呼び出さないでください(これは数秒間は回避できますが、OSリソースを使用します)
  • accept()を呼び出しますが、結果のソケットをすぐにclose()します。(これはかなり失礼です...)

上記の3つのオプションは、システムコール/OSレベルのものです。PHPがそれらをどのように実装(またはラップ)するのかわかりません。

于 2012-10-31T18:21:49.727 に答える