問題タブ [eventsource]

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.

0 投票する
3 に答える
2000 参照

cqrs - マイクロサービスのイベント ドリブン アーキテクチャにはいくつのデータベースがありますか?

私は、マイクロサービス システムの有用なアーキテクチャとして EventSource を使用する CQRS に関するドキュメント、ブログ投稿、および例をたくさん読みました。

一般的な例は、銀行振込アプリです。 銀行振込アプリ

4 つのマイクロサービスがあることは明らかですが、「コマンド側」のマイクロサービスには独自のデータベースがないため、わかりません。

この画像では、すべてのマイクロサービスが同じ eventStore データベースを使用していますが、これはマイクロサービス パターンに反しているのでしょうか?

そして、EventStore db はどのようにすべきでしょうか? シングルテーブル?サービスごとに 1 つのテーブル ?

0 投票する
1 に答える
1005 参照

javascript - Chrome が複数のサーバー送信リクエストを送信できないようにする

を受け入れるエンドポイントがあり、text/event-stream基本的に と の 2 つの異なるタイプのイベントを送信statsしますresult。サーバーresultがイベントを送信し、接続を閉じるとき。

問題は、sse の設計上、ブラウザーが接続を再試行することです。それを防ぐために、リトライ値を 60000 などのより高い数値に設定し、結果が得られたらクライアントで接続を閉じます。

問題は、待ち時間が長い場合、Chrome が複数のリクエストをサーバーに送信することです (localhost では問題なく動作します)。Safari と Firefox は問題なく動作します。Chromeでは、ネットワークタブにリクエストが1つしかないため、リクエストがタイムアウトしたためにChromeがサーバーに接続しようとすることはないと思います。また、2番目のリクエストを送信するため、サーバーが最初のリクエストを閉じるのを待ちません。Chrome でこの問題が発生する原因は何ですか?

注: サーバーが送信したリクエストのエンドポイントとオリジンは異なります。通常の HTTP リクエストの場合、Chrome は権限を確認するために OPTIONS リクエストを追加で送信しますが、SSE の場合は OPTIONS プリフライト リクエストを送信しませんが、SSE は GET リクエストであるため、これが問題であるかどうかはわかりません。

0 投票する
1 に答える
494 参照

websocket - SIGNALR がポーリングよりも Forever Frames を好むのはなぜですか?

私は SignalR の使い方を学んでいますが、これまでのところ成功しています。ハブを実装したり、ビジネス ロジックを実装したり、必要なサーバーからクライアント側関数を呼び出したり、クライアント側からサーバー側メソッドを呼び出したりできます。これは素晴らしいことです。私を困惑させているのは理論です。

実際、このビデオから情報を収集しました。SignalR は、単一のTCP接続を介して全二重チャネルを提供するWebSocketsを使用しています。利用可能な WebSocket がない場合、フォールバック プロトコルはEventSourceになります。それが利用できない場合は、Forever Frame が使用されます。それが利用できない場合は、ロング ポーリングが使用されます。永遠のフレームのような非常にハックなソリューションが古い慣習よりも好まれるのは私にとってかなり奇妙であり、3番目のオプションとして永遠のフレームを持ち、4番目のオプションとしてポーリングするというSignalRの決定の背後にある理論的根拠に興味があります。

私はこの質問に対する答えを見つけようとしましたが、長いポーリングの場合、永遠のフレームと比較して 3 倍の最大待ち時間があると噂されていることがわかりました。これは事実ですか? もしそうなら、それはすべてのブラウザの事実ですか、それともサブセットの事実ですか?

0 投票する
2 に答える
2557 参照

java - Spring Bootを使用してイベントソースサーバーを作成するには?

スプリングブートアプリケーションを使用してイベントソースサーバーを作成するには? 以下のリンクから、Java-spring ブートの例が表示されません。どんな参考書も役に立ちます。

http://www.html5rocks.com/en/tutorials/eventsource/basics/

0 投票する
1 に答える
1555 参照

polyfills - yaffle イベント ソース ポリフィルを含める方法

https://github.com/Yaffle/EventSource

IE11で動作するように約束したいので、上記を使用しました。npmでインストールしましたが、どのように実装するかわかりません。私は自分のjsファイルで試しimport event-source-polyfillましたが、それもうまくいきませんでした。ドキュメントにはビルドを実行するだけと書かれていますが、node_modules/event-source-polyfill ディレクトリに min.js ファイルが既に表示されている場合、その目的は何ですか? 実際にどのように含めるのですか?

0 投票する
1 に答える
1038 参照

ruby-on-rails - ActionController::Live を含むコントローラーのテスト

ActionController::LiveRailsモジュールを含むコントローラーがあります。FileTailgem を使用SSEして読み取られているログファイルの内容を表示し、次のActionController::Liveように使用しています。

liveを使用してアクションをテストしたいRspec。これは私が現在持っているものです:

適切な行がない場合after、スペックはパスしますが、リッスンし続け、接続が閉じられることはありません。したがって、スペックは終了せず、手動で強制終了する必要があります。

私がafter行を持っている場合、それは時々合格しますが、ほとんどの場合、例外がスローされ、スペックが失敗します.

これを機能させる方法はありますか?おそらく、これをテストする必要がある特定の方法があり、どこにも見つけることができません。

0 投票する
1 に答える
206 参照

php - NetworkError: 403 Forbidden when assign eventsourcr to full calender

私はphpを使用してロングプーリングを行っており(正常に動作します)、その出力JSONをfullcalenderイベントソースに割り当てています。

私のjsコード

私のPHPプーリングコード。

コンソールでは、正しい出力が得られます。

コンソール出力

エラーが発生しています、

エラー

別の js では、イベント ソースを fullcalender に割り当てています。

だから私の質問はどこが間違っているのですか、何か提案はありますか? なぜこのようなエラーが発生するのですか?