問題タブ [server-sent-events]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Javaを使用してPlayフレームワークでサーバー送信イベント
私は完全に新しいPlayフレームワークとScalaです。Html5サーバー送信イベントとPlayFrameworkを使用して、サーバーからブラウザーにいくつかのイベントをプッシュしようとしています。
私はScalaでこの例に出くわしました。play.mvc.Action.Simpleを拡張して、Javaでアクション構成を実装してみました。アクションコンポジションで応答ヘッダーを設定する方法がわかりません。
http://benquasmalltalk.blogspot.fr/2012/04/hub-interesting-but-undocumented.html
私が送信しているデータは、列挙ではなくデータベースからのものです。任意のポインタが役立ちます
php - Long-Polling、Websocket、Server-Sent Events(SSE)、Cometとは何ですか?
いくつかの記事を読んでみましたが、まだ概念がはっきりしていません。
これらのテクノロジーが何であるかを私に説明してみませんか?
- ロングポーリング
- サーバー送信イベント
- WebSocket
- 彗星
私が毎回遭遇したことの1つは、サーバーが接続を開いたままにして、データをクライアントにプッシュすることでした。接続はどのように開いたままになり、クライアントはプッシュされたデータをどのように取得しますか?(クライアントはデータをどのように使用しますか、おそらくいくつかのコードが役立つかもしれませんか?)
さて、リアルタイムアプリにはどれを使うべきでしょうか。私はWebSocket(socket.io [node.jsライブラリ]を使用)について多くのことを聞いていますが、なぜPHPではないのですか?
java - サーバー送信イベントがGoogleChromeで機能しない
これは私のサーバーJSPコード「Server_Date.jsp」です
この私のクライアントjspページ「Client_Serverdate.jsp」
このコードはMozillaFirefox、Operaでは正常に機能しますが、Google Chromeでは機能しません(18.xと20.xでもチェックされました)。
printステートメントで確認したサーバーページに移動しますが、行に到達しませんdocument.getElementById("result").innerHTML = event.data;
。
html - SSE を使用した HTTP Get への応答
HTML5 と node.js を試しています。Server Sent Events をテストしたところ、問題なく動作しました (この例を参照)。
次にボタン押下にSSEで応答してみました。[インクリメント] ボタンを押すと、テキスト ボックスから数値を選択し、GET メッセージを使用してサーバーに渡します。サーバーは、増加した数値を含むイベントで応答します。eventListener は、受信した数値でテキスト ボックスを更新します。メッセージをログに記録するために、HTML ページに「メッセージ エリア」も追加しました。
それが計画でした。しかし、ボタンをクリックすると、ブラウザーはウィンドウの下部に「ダウンロード」操作が進行中であることを示しますが、完了せず、結果が画面に更新されず、ページの下部にメッセージが表示されません。
ページの読み込み時にイベントを送信すると、イベントは正常に機能します。しかし、GET メッセージに応答して送信すると、HTML ページに応答が表示されません。
ここに HTML セクションがあります。
メッセージのハンドラーと、温度ボックスを更新する「温度イベント」のハンドラーを追加しました。
node.js スクリプトで、メッセージと TemperatureValueUpdate を送信しています
また、ページ読み込み時に「/events」URL に 200 応答を返しました。
私も次のことを試しました
- イベントを送信する前に 202/204 応答を送信する
- イベントの送信前/送信後に response.end() を送信する
- 各イベントの前に 'Content-Type': 'text/event-stream' を送信する
しかし、それらは望ましい結果を生み出しません。ここで何が間違っていますか?
android - ネイティブアプリのサーバー送信イベント?
サーバーから送信されたイベントをネイティブの Android アプリで使用する方法はありますか?
server-sent-events - サーバー送信イベントを「一時停止」するにはどうすればよいですか?
Server Sent Event 接続を一時停止するにはどうすればよいですか? それとも、SSE を閉じてから再度開き、すべてのイベント ハンドラーを再度割り当てる必要がありますか?
たとえば、私はやりたいと思います(これはすべて理論上のものであり、一時停止/再開関数の名前はわかりません):
c# - C#を使用してテキスト/イベントストリームを聞く
単純なWebサービスをラップアラウンドするC#クラスを作成しています。RESTfulのものは簡単にまとめることができましたが、サーバー上の何かが変更されたときにイベントを発生させる必要があります。
イベントストリームを利用できるようにサーバーを設定しましたが、C#でストリームを取得する方法がわかりません。
現在、私はこのようなものをドンしています:
私のテストでは、イベントは1回ピックアップされますが、2回はピックアップされません。サーバー上のイベントは本質的にスイッチです-何かが起こってそれが続き、何か他のことが起こってそれが消えます。イベントストリームを通常のWebページに接続してテストしたので、切り替えが機能することはわかっています。
C#でイベントストリームをどのように処理する必要がありますか?
編集1:TimVKが指摘するバグを修正するためにコードを更新しましたが、イベントストリームが2回目に取得されていません。
javascript - SSE (サーバー送信イベント) 切断
ティッカー アプリケーションに (クロムで) SSE を使用しようとしています。私が見つけた、または書いたすべてのサンプルで、接続が3〜4秒ごとに閉じられているようです。http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_sseで例を実行している場合でも
更新が 3 ~ 4 秒ごとに到着することがわかります。これは、サーバーの実装 (この例では「demo_sse.php」) によるものではなく、3 ~ 4 秒ごとに発生する再接続によるものです。
上記の例に次を追加すると:
readyState が 0 であることが明確にわかります。つまり、「接続がまだ確立されていないか、接続が閉じられており、ユーザー エージェントが再接続しています」という意味です。(公式の EventSorce API ドキュメントから取得)。
サーバー側のスクリプトも自分で書きました。コードは次のとおりです(python bottle Webフレームワークを使用)。
そして、私は同じことを取得します。3 ~ 4 秒ごとに再接続します。
私が興味を持っているのは、セッションを通じて接続がどのように維持されるかです。
助けてくれてありがとう、オマー。
python - 複数のクライアントがサーバー送信イベントをリッスンする方法は?
サーバーが送信したイベントに頭を悩ませようとしています。私のサイトの残りの部分は、cherrypy を使用して提供されているため、このプラットフォームでも機能させたいと考えています。
SSEを公開するために私が使用している方法:
chrome (win 7) と chromium (ubuntu 12.04) でテストすると、ストリームアップが提供され、それを使用するページは正常に動作します。ただし、一度に 1 つのシステムしか機能しません。クロムとクロムの両方がストリームを読み取っている場合、最初のものだけがストリームを取得し、もう一方は何も取得しません。両方のシステムに同時にストリームへのアクセスを許可するにはどうすればよいですか?