問題タブ [persistent-connection]

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 投票する
1 に答える
5154 参照

java - Java サーバー - TCP ソケットは、ソケット接続を閉じずに EOF を検出します

ソケット接続が開いている間に TCP ソケットから読み取るときに EOF を検出する方法はありますか?

私が見た例のほとんどは、次のようなものです。

ただし、これは、新しいデータを受信するたびに新しい接続を作成する必要があることを意味します. 私の場合、これはソケットを介してバイトとして送信される画像の一定のストリームであり、すべての画像を単一のユーザーに関連付けることができるように、接続を閉じることなく各画像を処理したいと考えています。高頻度で接続を常に開いたり閉じたりしない方が効率的です。

それで、これを行う方法や可能な代替案に関する情報はありますか?

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

javascript - javascript html5オーディオプリロードでhttpリクエストがキャンセルされました

javascript で音声ファイルをプリロードしようとしています。Chrome を使用していますが、ファイルの数が増えると、ファイルの http 要求が Chrome によってキャンセルされます...なぜですか? 私に何ができる?これは私のコードです:

0 投票する
0 に答える
243 参照

php - 別の親が非同期永続接続を閉じることができますか

さまざまなジョブを非同期で呼び出し、最終的にスリーパーを非同期で呼び出す cron ファイルを作成しました。スリーパーは 1 分間スリープしてから、cron スクリプトを非同期で呼び出します。

しかし、システムを再構築して、最後の「ファイルポインター」をファイルに保存し、後でそれを使用してプロセスを停止したいと考えています。作れるものなのでしょうか?

コードサンプル:

sleeper.php

cron.php

object.php:

*UPDATE*** 通常、永続的な接続は、使い終わったら閉じます。しかし、私は非同期 (stream_set_blocking) 永続接続 (fsockopen) を閉じずに使用しているため、スクリプトは親なしで毎分ループし続けることができます。(Cron.php 呼び出し Slepper.php 呼び出し Cron.php など)

スクリプトを再構築して最後の「ファイル ポインタ」を保存し、後でそれを使用して持続的な接続を閉じることができるようにします。

私はたくさん読みましたが、方法が見つかりませんでした。 PHP: socket_import_stream - マニュアル

例:

object.php

stop.php

PHP: リソースタイプのリスト - Manual

PHP: 永続的なデータベース接続 - マニュアル

0 投票する
4 に答える
1440 参照

java - JAVA sqlを使用して異なるリモートMySQLサーバーへの2つの永続的な接続を開くことは可能ですか?

そのため、別のMYSQLサーバーにあるテーブルを参照して、リモートのMySQLサーバーにテーブルを作成するコードを実行しようとしています。テーブルを作成しようとしているサーバーにはスペースの制限があり、参照されているテーブルは非常に大きいため、別のリモートサーバーに保持する必要があります。

(JDBCライブラリを使用して)両方のデータベースへの永続的な接続を同時に設定する方法を見つけようとしているので、少数のデータ行をバッファリングし続ける必要はありません...できるようにしたいと思いますデータを直接参照するだけです。

たとえば、データベースAには参照しているデータが含まれており、データベースBには新しいテーブルを作成しています。データベースAで参照しているテーブルが1,000,000行だとします。たとえば、データベースAへの接続を開き、10,000行をバッファリングし、接続を閉じ、データベースBへの接続を開き、そのデータベースに書き込み、バッファを削除し、繰り返す代わりに...

データベースAに永続的に接続したいので、データベースBに書き込むたびに、データベースAのデータを参照できます。

これは可能ですか?私はいくつかの方法を試しましたが(主に、接続が切断された場合にのみ更新される新しい接続オブジェクトを作成することによって)、このアイデアを機能させることができないようです。

JDBCを使用してこれと同様のことをした人はいますか?もしそうなら、あなたが私を正しい方向に向けることができれば、またはあなたがそれをどのように機能させることができたのか教えていただければ幸いです。

0 投票する
4 に答える
3105 参照

c# - HTTP 経由でクライアントからサーバーにデータをストリーミングすることは可能ですか?

クライアント (デスクトップまたはモバイル) からホストされたサーバーにデータをストリーミングしたいと考えています。1/10 秒ごとに 1 バイトという大量のデータではありませんが、データをすぐにストリーミングする必要があり (バッファリングなし)、接続を長時間アクティブにしておく必要があります (たとえば、最大 10 分)。

サーバーはホストされているため、ソケットを使用することはできません。http だけです。

サーバー側では、クライアントに接続している場合、永続的な接続を使用して応答ストリームに書き込むだけでこれを行うことができます。

しかし、クライアントがサーバーへの永続的な接続を持ち、要求ストリームに書き込んでいる場合、これを逆に行う方法はありますか?

明確化: このクライアントからサーバーへの通信を永続的な http 接続として行う必要はありません。計画したサーバーからクライアントへの永続的な http 接続と対称性を保つために、それが可能かどうか疑問に思っていました。

私が聞いたところによると、個々の http 投稿を実行して、同じまたは同様の遅延を達成できるはずです。

0 投票する
0 に答える
1479 参照

node.js - node.js を使用して永続的な接続を設定する

次の問題ステートメントの解決策を見つけるのに苦労してい
ます 永続的な接続をサポートする単純な Web サーバーを実装します。つまり、HTTP ヘッダー「接続: キープアライブ」を尊重します。したがって、ブラウザが同じ TCP 接続で次の HTTP リクエストを行うと、次のページが提供されます。

だから私は疑問に思っていましたが、これはnode.jsを使用して可能ですか? どんな助けでも大歓迎です。ありがとうございました

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

php - oci_pconnect を使用する場合、php セッションが同じ oracle セッションを取得するようにします。

グローバル一時テーブルを使用して、高価な中間データを保存したいと考えています。データは一時的なものですが、php セッションの期間中は適切であるため、グローバル一時テーブルを使用on commit preserve rowsするのが理想的です。

しかし..グローバル一時テーブルデータは、それを作成したOracleセッションでのみ利用できるようです。

したがって、これにより、oci_pconnect が同じ Oracle セッションを確実に取得できるようにするにはどうすればよいかという問題が生じます。Oracle セッションは永続的な接続ごとに一意であると読んだことがあります。複数のphp実行でトランザクションを使用することには興味がありません。一時テーブルだけです。

Oracleセッションを選択するための識別子として使用できるように、phpセッションを使用しています。

これまでのところ、これは不可能のようですが、質問しても問題ありません。

EDIT : これを実装する目的は、アクセス制御で使用されるユーザー グループ メンバーシップ情報へのアクセスを高速化することです。
事前にグループ メンバーシップを解析し、代わりにこの一時データを使用すると、後続のすべてのクエリで 3 つ以上の結合レイヤーが不要になります。返されたキーはRAWであるため、それらを外部ストレージにシリアル化すると、HEXTORAW()再度使用時に多くの呼び出しが発生し、意図した目的には役立たないようです。

グループ レベルのアクセスを決定するために追加されたクエリの部分は、セッションの間静的であり、単独で実行されると、約 600 行の一意の 16 バイトRAWキーが返されます。次に、これらのキーは、リンク テーブルを介して結果セットに対して結合され、ユーザーが結果セットに対して「グループ レベル」の権限を持っているかどうかが判断されます。

IN を使用してキーを文字列として渡してみましたが、それらは RAW キーであるため、HEXTORAW()クエリごとに 600 回呼び出す必要があります。パフォーマンスは、一時テーブルを使用してJOIN.

「永続的な」中間結果に書き込む以外に、クエリのその部分の結果をキャッシュしておくようにOracleに指示する他の方法はありますか?

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

http - セルラーネットワークでHttpWebRequest AllowReadStreamBufferingプロパティが受け入れられませんか?

http を介した永続的な接続を使用するアプリを作成しています。つまり、Web サーバーは応答ストリームへの書き込みを「終了」せず、クライアント アプリは応答ストリームからデータを読み取ります。

サーバーとクライアントのコードが機能することを確認するために、いくつかの .NET 3.5 デスクトップ/winforms アプリを作成してから、同じことを行う Windows Phone アプリを作成しました。デスクトップ コードと電話コードの唯一の違いは、電話で AllowReadStreamBuffering プロパティを false に設定したことです。

電話アプリは昨夜は機能しましたが、今日は機能しません。応答ストリームを読み取ろうとすると、接続がサーバー側から閉じられるまでハングします。これは、AllowReadStreamBuffering 設定が HttpWebRequest によって受け入れられていないことを意味します。

昨夜と今の違いは、昨夜は Wi-Fi を使用していたのに対し、今日はセルラーで接続していることです。

私の仮説は、電話では、接続が wifi (およびおそらくイーサネット) の場合、HttpWebRequest は AllowReadStreamBuffering = false のみを尊重し、セルラー ネットワークを使用する場合はそれを無視してバッファリングするというものです。

HttpWebRequest がセルラー経由で接続されている場合に読み取りストリームのバッファリングを強制するのは本当ですか? この動作を確認するドキュメントを見つけることができなかったので、他の誰かがこれを経験したかどうか疑問に思っています. 後でこれをより徹底的にテストできるようになりますが、今のところ、質問することにしました。

更新 5-11-12
自分の質問をテストして回答しました (以下を参照)

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

xpages - xpages と Domino での永続的な接続

ブラウザーから xpage アプリケーションにログインすると、接続が 5 分で切断されますが、従来のドミノ アプリケーションにアクセスすると、接続が約 1 分で切断されます。単一のサーバーでセッション ベースの認証を使用しており、どちらの場合も domauthsessid が設定されています。セッションを追跡するために netstat を使用しています。xpage 接続タイムアウトが通常のアプリケーションと異なるのはなぜですか? xpage にキープアライブ設定がありません。サーバー ドキュメントでのテスト目的で、永続的な接続のタイムアウトを 600 秒に設定しました。しかし、どちらのアプリケーションもそのタイムアウトに達しません。

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

php - 「mysqli::close」は永続的な接続を閉じますか?

PHP doc には、「mysql_close() は永続的なリンクを閉じません」と書かれています。

mysqli (mysqli::close())と同じですか?