サーバー送信イベントの実装は、一見すると非常に単純な作業です。Mozilla ドキュメントの例を借りると、クライアント側のコードは次のようになります。
var evtSource = new EventSource("ssedemo.php");
evtSource.onmessage = function(e){//do stuff with e.data here}
私が理解するのが難しいのは、サーバー側で何が起こるかです。私を困惑させるもの
- したがって、ssdemo.php からイベントを送信し続けたいということは、ループで実行し、送信していないときにスリープ状態にする必要があることを意味します。
- ただし、デフォルトでは、Apache は実行に「時間がかかりすぎる」スクリプトを強制終了するように設定されているため、そのようにスクリプトを実行するように設定しない限り、無限ループになることはありません。
- 同じ SSE サービス (ssdemo.php) を要求する 10 人のユーザーがいる場合、そのループ スクリプトのインスタンスが 10 あることになりますか?
サーバー側のコードがどのように機能するか、コーディングする必要があるかについての私の理解には、欠陥があるか、素朴であるか、またはその両方であると思われます。これを行う正しい方法へのポインタをいただければ幸いです。