問題タブ [disconnection]
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.
c# - MySQL サーバーへの接続が失われた場合、イベントを作成して処理することはできますか?
クライアント アプリケーションがあり、MySQL サーバーに接続するとします。素晴らしい。これをスレッドとして実装しません。私は MySQLConnection クラスを利用しています。
そして今、オフィスのことを本当に無頓着な Jim が、最初に許可を求めずに誤って MySQL サーバーを再起動したとしましょう。
クライアントアプリケーションが認識し、ユーザーが多くのエラーを取得しないように、切断がいつ発生するかを知りたいです。
これを確認する方法はいくつか考えられますが、それらが機能するかどうか、またデザインがエレガントであるかどうかもわかりません。皆さんはどの方法が一番適切だとお考えだったのだろうと思いました。
- 接続をスレッドとして実装し、x 秒ごとにチェックします (可能であれば)
- 接続が切断されたときにイベントを作成して処理します (上記の点に依存しています)。
- たぶん、MySQL コネクタ ライブラリに、私が気付いていないイベントが組み込まれている可能性があります。
- 私が気付いていない他の神秘的なダークコード
どんな助けでも大歓迎です。
編集:この質問はコメントで回答されています。読んでくれてありがとう。
sockets - 同一マシン上のエンドポイント間のソケット接続
ソケット接続の 2 つのエンドポイントが同じマシン (この場合は Wintel) に存在する場合、互いの間のメッセージが NIC カード、ネットワーク メディアにトラバースし、次に NIC/マシンに戻り、最後にもう一方のマシンに到達します。終点?
私が尋ねている理由は、どちらもソケットのクローズを呼び出していないときに、エンドポイントによって説明されていないソケットの切断が報告されているためです (私たちが知る限り)。これは、断続的なネットワークの問題が原因である可能性もありますか?
c# - ソケットの切断を検出する方法は?
Silverlight 3で非同期ソケットパターンを使用してタスクを実装しました。MichaelSchwarzの実装から始めて、その上に構築しました。つまり、基本的に、私のSilverlightアプリはデバイスへの永続的なソケット接続を確立し、データは必要に応じてデバイスとSilverlightアプリの間で双方向に流れます。
私が苦労していることの1つは、切断を検出する方法です。私は2つのアプローチを考えることができます:
生き続ける。これはSocketsレベルで実行できることは知っていますが、非同期モデルでこれを実行する方法がわかりません。Socketクラスは、切断が発生したことをどのように通知しますか。
手動で生き続ける。基本的に、Silverlightアプリに20秒程度ごとにダミーパケットを送信させています。それが失敗した場合、私は切断を想定します。ただし、信じられないことに、Silverlightアプリが接続されているデバイスのプラグを抜いただけでも、SocketAsyncEventArgs.SocketErrorは常に成功を報告します。これがバグなのか、それともSL4にアップグレードする必要があるのかわかりません。
任意のアイデア、方向性または実装をいただければ幸いです。
android - Android で Bluetooth ソケットを切断する
私は、Android Phone からクライアントとして Bluetooth 医療センサーに接続する必要があるプログラムを開発しています。公式の Bluetooth API を使用しており、接続中 (SPP プロファイル) に問題はありませんが、ソケットを終了すると、センサーはまだ電話に接続されています (接続を閉じています)。
Bluetooth を切断する方法はありますか? それを行う ACTION_ACL_CONNECTED というインテントがあると思います。誰かがこれを使用する方法を説明できますか?
前もって感謝します。
編集済み: コードは次のとおりです。追加情報が必要な場合は、Nonin 4100 医療センサーです。
objective-c - 接続が失われたときの ASIHTTPRequest エラーなし
ファイルをダウンロードしています(Apache Tomcat 6.0.32を使用)。切断(Tomcatをシャットダウン)すると、ASHITTPRequestがエラーを生成することがありますが、時々(ほとんどの場合正確に...常に正確に!最初に接続がない場合にのみエラーが発生します)、すべて正しいように動作します。
そこで問題があります: なぜこれが起こったのか、接続が適切に失われたかどうかをどのように監視できるのか。
どうもありがとう!
アップデート:
TCPMon を介してリクエストを送信し、それを停止して (TCPMon)、同じ結果を取得してみてください: ASIHTTPRequest は、ダウンロードが正しく行われたと考えています。
アップデート:
応答ヘッダー:
応答ステータス メッセージ:
アップデート:
コンピューターを手で外した場合 (ケーブルを外した場合)、次のようになります。
ASIHTTPRequest がタイムアウトになるまで待機し、次のリクエストで接続エラーが発生することがあります。
切断するタイミングでエラーが発生することがあります。
切断したときにエラーが発生しないことがあります。ダウンロードの進行状況が表示されず、(再度接続すると)ファイルが最初からダウンロードを開始します。
ポートを閉じると、ASIHTTPRequest はダウンロードが成功したと判断します。
この論理が理解できない…
解決:
ヘッダーの Content-Length と読み取った合計バイト数を比較して、問題を解決します。
したがって、すべてのデータを取得したかどうかを確認し、そうでない場合は維持エラーを確認できます。他の場合 (手動で切断するなど) では、ASIHTTPRequest は適切な方法で動作し、自己エラーを生成します。
java - ソケット切断の検出
LAN 上の別のデバイスに接続されたソケットがあります。デバイスをACから抜いたときに、切断を検出するにはどうすればよいですか。スレッドはブロックされています:
windows - (切断をシミュレートするために) リモート マシンへのアクセスをブロックするアプリケーションはありますか?
リモート マシンへのアクセスを一時的にブロックできるアプリケーション (GUI 付き) はありますか?
私のコードはリモート フォルダーにアクセスします。そのサーバーへの数秒の切断をシミュレートしたいと思います。
リモートの共有フォルダーで遊んだり、より複雑なマシンのネットワーク構成で遊んだりしたくありません。
c# - TcpListenerがESTABLISHED接続をリークしているのはなぜですか?
約30台の車のモデムからメッセージをリッスンするアプリケーションがあります。TcpListenerを使用して、次のようなサーバーコードを実装しました(エラー処理は省略されています)。
私はメッセージを正しく受け取ります、私の問題は切断にあります。12時間ごとにモデムはリセットされ、新しいIPアドレスを取得しますが、サーバーは引き続き古い接続をアクティブに保ちます(tcpviewでESTABLISHEDとしてマークされます)。古い接続のタイムアウトを設定する方法はありますか?TcpClientを閉じることでTCP接続が閉じられたと思いました(そしてそれが私のローカルテストで起こります)、私が間違っていることは何ですか?
c++ - イーサネット ケーブルの取り外しと OS からのイーサネット ネットワークの無効化の違い
ネットワークの切断に対してプログラムを堅牢にしようとしています。現在、OS からイーサネット ネットワークを無効にすると (私は Ubuntu 11.10 を使用していますが、それは問題ではないと思います)、ネットワークが再び有効になるとソケットが回復し、すべてが正常に機能します。
今では、このテストはイーサネット ケーブルのプラグを抜くことと同じだと思っていました。しかし、これを行うと私のプログラムが突然終了するため、そうではありません。
これら 2 つのシナリオの違いと、両方を検出する方法を知りたいです。Qt および C++ の QTcpSockets を使用しています。
また、Wi-Fiが検出されなくなった場合は、イーサネットケーブルを抜くのと同じだと思いますが、OSで無効にすることはイーサネットネットワークを無効にすることと同じです。私は正しいですか?
c# - SslStreamソケット切断の検出
ソケットをラップするNetworkStreamの上でSslStreamを使用していますが、この状況でソケットの切断を検出するにはどうすればよいですか。
言い換えれば、リモートクライアントが接続を閉じたかどうかを検出したいのです。