問題タブ [reconnect]

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

oracle - 接続が悪くなったときに JBoss 接続プールを Oracle に再接続させる方法はありますか?

JBoss と Oracle を別々のサーバーに配置しています。接続が切断されたように見え、JBoss で問題が発生しています。そもそも接続が切断されている理由を突き止めている間、接続が悪い場合、JBoss を Oracle に再接続させるにはどうすればよいですか?

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

java - Java:ソケットでの再接続でエラーが発生することがあります

再接続の処理方法を理解できるように、プロトタイプのクライアントとサーバーを作成しています。サーバーはサーバーソケットを作成し、永久にリッスンする必要があります。クライアントは接続してデータを送信し、ソケットを閉じることができますが、「完了して終了しました」というタイプのメッセージをサーバーに送信しません。このため、リモートクライアントが閉じているため、サーバーはサーバーがaEOFExceptionを実行するとを取得します。readByte()のエラーハンドラではEOFException、ソケットを閉じて新しいソケットを開きます。

問題は次のとおりです。クライアントは、ソケット/入力ストリーム/出力ストリームを正常に開いた後でもSocketWriteError、呼び出しを行うとを取得することがあります。outputStream.write()これらのソケットを開閉する頻度と関係があるかもしれません。興味深い点の1つは、クライアントがクラップアウトする前に任意の数の書き込み/クローズ/再接続を実行することです。最初の再接続時に機能しなくなる場合もあれば、が表示されるまでに50回の再接続が必要な場合もありSocketWriteErrorます。

クライアント側のエラーは次のとおりです。

コードのスニペットは次のとおりです。

サーバ:

クライアント:

誰かが正しく再接続する方法を知っていますか?

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

ruby - Ruby Net を使用した再接続戦略の実装

XML を Web サービスにポストする小さなアプリケーションを開発しています。これは、Net::HTTP::Post::Post を使用して行われます。ただし、サービス プロバイダーは再接続を使用することを推奨しています。

次のようなもの: 最初の要求が失敗する -> 2 秒後に再試行する 2 番目の要求が失敗する -> 5 秒後に再試行する 3 番目の要求が失敗する -> 10 秒後に再試行する ...

それを行うための良いアプローチは何ですか?次のコードをループで実行し、例外をキャッチして、しばらくしてから再度実行しますか? または、それを行うための他の賢い方法はありますか?もしかしたら、Net パッケージには、私が気付いていない機能が組み込まれているのでしょうか?

ありがとうございます、いつも応援ありがとうございます。

マット

0 投票する
6 に答える
18089 参照

php - PHPmysqliの再接続の問題

PHPでmysqliクラスを使用するのに問題があり、どこにも答えを見つけることができませんでした。

私のスクリプトでは、クラスはその関数全体で使用するmysqli接続を作成します。その後、このスクリプトは分岐します。接続は子によっても使用されますが、子が死んだときに親で接続が閉じられる(MYSQLサーバーがなくなった)という問題が発生しています。

mysqliに切り替える前に(mysqlを使用していた)、親プロセスでクエリを実行する前に、mysql_pingを呼び出してdb接続が存在することを確認しました。Mysqliにも同様のping機能がありますが、接続が失われた場合、実際には再接続されません。mysqli.reconnect = ONグローバル設定をうまく使用してみました(php.iniとini_setを使用)。

php mysql_connect関数を使用すると、既存の接続を取得できるため、mysqliの代わりにmysqlを使用している場合は、プロセスが分岐した直後に子で接続を再利用できます。しかし、mysqliにはそのような機能がないようです...

私ができた唯一のことは、mysqli-> ping()を呼び出すことでした。それがfalseを返した場合は、親のデータベースに再接続します。これはひどく非効率的であり、mysqlに戻す必要があるmysqliで正しく行う方法(および手動で再接続する必要がない)を理解したいと思います。

助言がありますか?

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

java - hibernatec3p0壊れたパイプ

あるソースから常にデータを抽出してデータベースに書き込むプログラムに、c3p0でhibernate3を使用しています。ここで問題となるのは、何らかの理由でデータベースが使用できなくなる可能性があることです(最も単純なケースでは、単にデータベースをシャットダウンします)。

データベースに何かが書き込まれようとしている場合でも、例外はありません。クエリは、データベースが再び使用可能になるまで、永遠に待機する必要があります。私が間違っていない場合、これは接続プールが私のためにできることの1つです。データベースに問題がある場合は、接続を再試行してください。最悪の場合、無限大です。

しかし、代わりに、壊れたパイプの例外が発生し、接続が拒否された後、例外が自分のコードに渡されることがありますが、これは発生しないはずです。

例外をキャッチした場合でも、どうすれば休止状態をクリーンに再初期化できますか?(これまでのところ、c3p0を使用せずに、セッションファクトリを再構築しただけですが、接続がリークする可能性がある場合でも驚かないでしょう(またはそうしても大丈夫ですか?))。

データベースはVirtuosoオープンソース版です。

私のhibernate.xml.cfgc3p0構成:

ところで:テストテーブルが作成され、大量のデバッグ出力が得られるので、実際に構成を読み取っているようです。

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

apache-flex - アイドルタイムアウト後のFlexVideoDisplayの再接続

ソースに接続して再生できるVideoDisplayがあります。接続がタイムアウトした後、再生ボタンがクリックされたときに接続を再確立したいと思います。現在、ソースをリセットしてvideoDisplayを再生すると、読み込み状態でスタックします。

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

sql - mysqli.reconnect = ONは接続エンコーディングを変更しましたか?

再接続によって接続エンコーディングが切り替わらないようにするにはどうすればよいですか?私の設定はすべてutf-8ですが、cliのphp.iniでこの関数を有効にしたので、何でもテストしました...そして、長時間動作するスクリプトがある場合は、スクリプトの任意のポイントで接続します。が切り替えられ、データが間違っています。もう一度無効にした後は、すべて問題ありません。しかし、なぜそうなのですか?この接続エンコーディングの切り替えを防ぐには、my.cfgにどのような設定を設定する必要がありますか?

乾杯ニック

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

jpa - Eclipselink JPA 2.0 接続の再試行動作を変更する方法

Eclipselink JPA 2.0 接続の再試行動作を変更する方法。Eclipselink は、接続障害を検出すると自動的にデータベースに再接続しようとします。これにより、swing ui がデータベースに接続するまで応答なしでフリーズします。この動作を変更する解決策はありますか。つまり、再試行せずに接続が失敗したときに例外をスローすることは可能ですか?私が大きな問題に直面しているこの問題について助けてください。

私はeclipselinkのソースコードとグーグルに行きましたが、解決策が見つかりませんでした。

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

php - PHP: mysql_ping - 自動再接続の問題

私は、mysql_* 関数を介した直接の mysql アクセスに依存する、古いが非常に複雑な php コードを使用しています。コードは mysql_ping を広範に使用しますが、接続がタイムアウトしたことが判明した場合に備えて、各 mysql_ping 呼び出しも再接続することを前提としています。問題は、MySQL 5.0 以降です。何かmysql_pingが自動的に再接続しません。ドキュメントでは、適切なフラグを指定して mysql_options を呼び出す必要があることがわかりましたが、mysql_optionsような関数はありません。代わりに mysqli_options がありますが、文字通り mysqli_* に切り替えることはできません。時間がかかりすぎます。MySQL のダウングレードも解決策とは見なされません。それを修正する方法はありますか?

ありがとう