問題タブ [disconnect]
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# - 非同期読み取り中のTcpClientの切断
TCP接続の終了についていくつか質問があります。
クライアントはTcpを使用してサーバーに接続し、でクライアントを受け入れた後、で
listener.BeginAcceptTcpClient(ConnectionEstabilishedCallback, null);
読み取りを開始しますnetworkStream.BeginRead(....)
。
メッセージを待っている間にクライアントが切断するとどうなりますか?(たとえば、電源やインターネットなどが失われます)
いつ発生したかを知るにはどうすればよいですか?読み取りが成功した後、私はいくつかのことをしてから、
networkStream.Close(); client.Close();
「クライアントには何が表示されますか?」接続を「正常に」終了するにはどうすればよいですか?(BeginReadを使用して)読み取りを待ってから(別のスレッドで)同じストリームを閉じるとどうなりますか?
編集して追加:クライアントとサーバーの間でピンポンメッセージが表示されます。それで十分?pingを受信しない場合は、NetworkStreamを終了しますか?確かにもっと良いものがあるに違いありません。
python - マルチプロセッシング リモート マネージャーを適切に切断する
Manager オブジェクトを使用multiprocessing
してサーバーを作成し、そのサーバーにリモート接続する場合、クライアントはリモート サーバーへの接続を維持する必要があります。クライアントがシャットダウンする前にサーバーがなくなった場合、クライアントはサーバーの予想されるアドレスに永遠に接続しようとします。
クライアント プロセスが終了しないため、サーバーがなくなった後に終了しようとしているクライアント コードでデッドロックが発生しています。
サーバーがダウンする前にdel
リモート オブジェクトとクライアント マネージャを削除すると、プロセスは正常に終了しますが、使用直後にクライアントのマネージャ オブジェクトとリモート オブジェクトを削除するのは理想的とは言えません。
それが私にできる最善のことですか?リモート マネージャ オブジェクトから切断する別の (より適切な) 方法はありますか? サーバーがダウンしたり、接続が失われたりした後、クライアントをきれいに終了する方法はありますか?
socket.setdefaulttimeout が multiprocessing で機能しないことは知っていますが、特に multiprocessing モジュールの接続タイムアウトを設定する方法はありますか? これは私が問題を抱えているコードです:
更新これはマルチプロセッシングで壊れています。接続タイムアウトはソケット レベルで発生する必要があります (そして、これを行うにはソケットがノンブロッキングである必要があります) が、ノンブロッキング ソケットはマルチプロセッシングを中断します。リモートサーバーが利用できない場合、接続を断念することはできません。
tcp - Tomcat NIO / RESTEasyは、各要求の後にTCPを切断します
NIOコネクタを介してTomcat6でRESTEasy非同期(Comet)IOサポートを使用しています。現在、TCP接続は、各応答がクライアントに返送された後、サーバーによってドロップされています。
TomcatのHTTPコネクタ構成について読んだすべてのドキュメントは、デフォルトで接続を維持する必要があることを示唆しているため、問題が何であるかについては戸惑っています。
これが私のコネクタ設定です:
提案をありがとう!
java - 切断されたソケットへの書き込みはスローされません
作家:
次のように使用されます。
これはクライアント側のコードです。サーバーがソケット(Javaコードも)を切断すると、クライアントが5〜10分後にのみスローするのはなぜですか?デッド接続を上書きする最初の試みでスローするべきではありませんか?
ありがとう
編集:
サーバーをシャットダウンした後のTCPの状態は次のとおりです。
Edit2:
クライアントはAndroidアプリケーションです。電話から実行され、書き込まれた2番目のパケットがスローを引き起こします。エミュレーター(下のMac)から実行すると、4番目のwrite()がスローされます。
java - サーブレット仕様 3 でクライアントの切断を適切に検出するには?
適切な切断コールバックがないため、応答への書き込みを試みました。
しかし、これはうまくいかなかったようです。クライアントが切断されている場合、バッファの書き込みとフラッシュは例外をスローしませんでした。
奇妙なことに、2 回目に出力ストリームに書き込もうとすると (切断後)、書き込みによって例外がスローされます。初めて書き込み/フラッシュしたように見えますが、通知せずに一部の内部状態がエラーに設定されています。
Jetty 8 と Tomcat 7 の両方で試しましたが、同じ動作が見られます。
クライアントがメッセージを受信したかどうかを確認する解決策はありますか? 何か不足していますか?
delphi - Delphi: タイムアウト中に idHTTP の動作を停止する
そうですidHTTP.Get('http://example.com/1.zip', FStream);
サーバーが応答せず、idHTTP が接続を待ってファイルをダウンロードする
idHTTP の動作を停止する必要があります。繋がればできるidHTTP1.Disconnect
。
しかし、idHTTP が接続されていない場合、タイムアウトが発生した場合、idHTTP が接続を待機している場合はどうなりますか? . だから私はできませんidHTTP1.Disconnect
。それを行うと、not connected
接続されていないため、例外が発生します。
例外なく接続を待っている間に作業を停止するには?
ありがとう!
node.js - 切断後のSocket.ioソケットデータの可用性
socket.io(node.js)でソケット切断イベントが発生した場合、ソケットのデータはどのくらいの期間利用できますか?
非同期でデータを返すストア(redisなど)がある場合でも、ルックアップを実行しても安全ですか?
ソケットが切断されたときの状態を保存するには、ソケットのすべてのデータを取得する必要があります。
どうもありがとう。
file-upload - extjs ファイルのアップロード - インターネットまたはネットワークから切断された場合の処理方法
extjs フォームを使用してファイルをファイル サーバーにアップロードしています (bakcend 側でファイルを処理するための FileUploadHandler.ashx があります)。
私の質問は、アップロードプロセス中に誤ってユーザーがネットワーク/インターネットから切断された場合、extjs が例外を処理/スローできるかどうかです。
前もって感謝します。
macos - 画面上部のメニュー バーでワイヤレス キーボードを切断する Apple Script
Applescript を使用してワイヤレス キーボードを切断しようとしています。
UIブラウザでこのスクリプトを思いつきました:
ただし、次のエラーが発生します。
ここで何が間違っていましたか、どうすれば修正できますか?
ios - バックグラウンドでの iOS XMPP 切断が報告されない
アプリがバックグラウンドにあり、インターネットがダウンしたために xmpp が切断され、インターネットが復旧した場合、アプリを開いたときに切断呼び出しが行われないため、アプリは再接続を試みません。
xmppstream が接続されていることを確認すると、[はい] と表示されます。アプリに戻ったときに、接続がまだ有効かどうかを確認するにはどうすればよいですか?
現在、私は切断を試みており、アプリが起動するたびに接続しています。しかし、切断を検出するのが理想的です...
ありがとう