no-image

Server-Sent Eventsがうまく動かなかったメモ

Server-Sent Events(SSE)はサーバーからブラウザにデータを送れる仕組みです

WebSocket等と違い、HTTPを利用しているのでPHPでも気軽に利用可能です

 

これを使ってみようとしたのですが、リアルタイムに送信できず、数十個まとめて受信してしまうという状態になってしまったときのメモです。

https://developer.mozilla.org/ja/docs/Server-sent_events/Using_server-sent_events

まず、これをそのままコピペして使ってみたのですが、上に書いたような状態になってしまいました

 

解決するにはphp.iniを編集する必要があったようです。

(偶然見つけたのですがoutput_bufferingなんて項目があって4096に設定されていました)

このoutput_bufferingはサーバーが勝手にバッファしてまとめて効率よく送ってくれるそうです

普段は便利?ですがSSEにはこれがダメだったようで、Offに変えたら普通に動作するようになりました。