私は Web プッシュ技術に取り込もうとしているので、調べ始めました。基本的に、Websockets と SSE という 2 つのテクノロジを見つけました。Perl がサポートされていないという理由で Websocket を除外した後、よりネイティブな SSE アプローチを試してみたいと思いました。
さて、SSE を機能させようとするのは本当に骨の折れる作業です。すべてのドキュメントには相反する情報が含まれており、SSE がどのように機能するかについての一般的なコンセンサスはないようです。<event-listen src="events.pm">
タグが必要だと言う人もいれば、 EventSource
JSオブジェクトだけが必要だと言う人もいます。EventSource オブジェクトを使用しても、約 4 つの可能な実装が見つかりましたが、どれも機能していないようです。
これが私が持っているものです。events.pm
mod-perl を使用するがあります。そのファイルを呼び出すと、 が返されますdata: I haz a websocket
。content-type で送信されapplication/x-dom-event-stream
ます。
HTML および JS ファイルは、さまざまな実装で頻繁に書き直されたため、私はそれらを断念しました。皆さん、私に実用的な例を教えてください。
また、特定のメッセージをクライアントに送信する方法がわかりません。定義済みのメッセージを送信することは問題ないようです。しかし、誰かが私にメッセージを送信する状況を想像すると、その情報 (「あなたへの新しいメッセージがあります」) が、その情報を必要とする正確なブラウザーにどのように送信されるのか正確にはわかりません。これで見つけたすべての投稿は、せいぜいあいまいです。
編集
基本的に、私が必要としているのは、「ねえ、この通知を受け取ってもよろしいですか?」と言う方法です。最初にあなたのID/セッション/トークンを見せてください!接続されたクライアントごとに。SSEでそれが可能なのだろうか。