Web ページで PHP ソケット サーバーを有効にすることはできますか? CLI モードで開くだけではなく
最近、php ソケットに基づいたチャット プログラムに取り組んでいますが、問題が発生しました:
ws ポートを開くには、php server.php を使用することしかできません。 CMD のポートは閉じられず、CMD コマンド ライン ウィンドウは閉じることができず、ソケット接続は切断されます。
すみません、この方法でWSサーバーを開くことはできませんが、Webページで開くことはできますか?やり方は?
------解決策----------------------
は Web サイトから開くことができますが、次の質問に注意してください:
1. ポートを繰り返し開くことはできないため、server.php が 1 回だけ実行されるようにする必要があります。
2. もちろん、Web モードでの php のタイムアウト設定は有効です。タイムアウトしないように設定する必要があります
3. Web サーバーにはタイムアウト制限がありますが、時間は比較的長いです。アプリケーションは長期間データ出力がない場合、一時停止または中断されます
4.server.phpが断続的に標準出力を行う場合、問題3は解決できます。しかし、それは次の問題を引き起こします
5. PHP は標準出力に書き込むときに、リクエスト元への接続がスムーズかどうかをチェックします。リクエスト元が閉じられると、プログラムの実行は終了します
もちろん、このデフォルトの動作を防ぐ方法はあります
実際、コマンド ウィンドウの存在は悪いことではありません。少なくとも、WS サーバーが稼働していることを示すことができます
さらに、WS サーバーが稼働しているときは、リアルタイムで動作を監視するために重要なログ情報をウィンドウに出力する必要があります