0

ポートを開き、複数の接続間のソケット通信を可能にするスクリプトがあります(単純なフラッシュチャットボックス)。このスクリプトは、実行する時間とポートを閉じるタイミングに関して、それ自体を処理する必要がありました。私の質問は、このスクリプトが無限ループに陥った場合(またはそれ以外の方法でスクリプトの制御を失った場合)、ポートを閉じるために何ができるかということです。

これを明確にするために、私は最初のスクリプトが開いたポートを強制的に閉じる2番目のphpスクリプトの後にいます(ソケットが閉じられている場合は、このスクリプトにチェックコードを挿入して実行を停止できます)。

4

1 に答える 1

1

私はそれをする方法を知りません。ソケットは、作成されたインスタンス内に存在します。ソケットを作成してwhile(1)スクリプト「foo.php」内でループを実行する場合、私が知る限り、別のスクリプト、たとえば「bar.php」を実行してfoo.phpで作成されたソケットにアクセスする方法はありません。それを閉じます。通常、クライアントサーバーアプリケーションは、ソケットのプーリングと監視を実現するためにスレッド化に依存しています。

于 2012-07-31T14:34:39.343 に答える