問題タブ [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.
javascript - HTML とサーバー側のイベント ページの両方に対応する単一の php ファイル
このコードを使用して、html ページと動的 ajax 応答 (jQuery を使用) の両方に同じファイルを作成します。
Server Side Events と EventSource を使用して同じことを行うことは可能ですか?
php - PHP スクリプトの内容がフラッシュされない
私はこのコードを持っています(サーバー側のイベントを使用しますが、問題は動作しないフラッシュです):
wampサーバーでローカルに動作しますが、共有ホスティングでは動作しません.php情報にこれがあります:
ob_start()
それを変更することはできません。スクリプトにも追加してini_set('output_buffering', 0)
削除しようとしましob_flush
たが、それは役に立ちませんでした。
また、ディレクトリの .user.ini で output_buffering を 0 に設定しようとしましたが、php 情報はローカル値が 0 であることを示していますが、サーバー側のイベントはまだ機能しません。すべてのイベントを一度に取得し、開発者ツールは次のように言い(pending)
ます10秒後に終了するまで空のタイプ。
これを修正する方法を知っている人はいますか?
編集:
コードを再度実行しようとしましたが (数年後、Fedora/Linux で)、同じ結果が得られました。Gzip は有効になっていませんが、最後にメッセージが表示されます。
私はもう試した:
- ヘッダーを追加
'X-Accel-Buffering' => 'no'
- も追加
echo "event:". $event ."\n";
成功せずに。
whileループを使用するとサーバー側のPHPイベントページが読み込まれないのを見ていましたが、解決策は機能しませんでした。コードはOPと同じエラーを返します(彼には担当者があまりいないため、おそらくSOでアクティブではありません)、私の少なくともイベントを表示していますが、ループを壊しています。彼のコードには無限ループがあります。
これは、サーバー (Fedora) によって送信されるヘッダーです。
http://demo.howopensource.com/sse/の単純なコードでも同じことが起こります
私のphp.iniにはこれがあります:
だから私も試してみました、.user.init
ファイルを次のように設定します:
と
しかし、それもうまくいきませんでした。スクリプトはすべてを一度に返すのを待っています。この記事のコードStreaming PHP - PHP、Apache、Nginx、および Varnish で出力バッファリングを無効にする その phpinfoを使用する$string_length = 4096;
と、出力バッファがこのディレクトリに対してローカルで無効になっていると言えます。
EDIT2:
私の共有ホスティングhttps://jcubic.pl/01.php?size=100でフラッシュが機能しているようですが、フラッシュが機能しないため、Fedora でローカルにテストすることはできません。
これが私のローカルphpinfo出力へのリンクです: https://jcubic.pl/phpinfo().html
javascript - Redux Observable を使用した EventSource の方法
質問は簡単です。どうすれば redux-observable を EventSource で使用できますか?
RxJ では次のようになります。
javascript - asp.net のイベント ソースには、1 ターンの遅延で応答があります
何時間ものグーグル検索の後、asp.net(MVCではない)を使用したイベントソースに関するサンプルが1つだけ見つかりました。最初に私はそれを学びたいと言わなければなりません。私の最終的な目標は、フレンドリーなポーカー Web サイトを作成することです。SignalR は私の目的には非常に適していますが、次のことを聞いたので、これを使用したくありません。
SignalR はパフォーマンスが悪い
そうじゃない?(そうじゃないといいけど)。私の問題は、サーバーがクライアントに応答を送信するときに、最新ではない前のテキストを送信することです:
これが SSEHandler です。
このcodsクライアントコンソールを実行すると、「最初」しかありません。そして、これを SSEHandler の最後に追加すると:
クライアント コンソールには、「first」、「second」があります。私の長い投稿を読んでくれてありがとう。
javascript - SSEでmysql selectの応答を取得する
EventSource を使用して 1 対 1 のライブ接続チャットを作成しようとしています。イベント ソースがセットアップされており、開発者ツールが教えてくれることから、イベント ソースは開いていて動作していますが、PHP ファイルからの応答データは表示されません。
PHP:
そして、イベントソースを呼び出すjsは、ボタンクリックで起動されるこの関数に含まれています。
JS:
ヘルプやガイダンスをいただければ幸いです。私はSSEに比較的慣れていませんが、私が見る限り、これはうまくいくはずです。