問題タブ [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.

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

c# - 接続が早期に閉じられた場合、すべてのデータを受信します

サーバーに接続し、バイナリデータの送信を開始し、送信が完了すると接続を閉じるクライアントがあります。接続が閉じられている場合、サーバーはクライアントがファイルの送信を完了したことを認識します。

接続を処理する単純な tcp クラスがあります。次に、データをサーバーに送信する別の関数があります。

サーバーは非同期ソケットを使用し、クライアントが切断されたときに例外を取得する関数 WaitForData() を持っています。問題は、Thread.Sleep() を削除しても WaitForData は例外をキャッチしますが、onDataReceive はまだすべてのデータを受信して​​いません。これは、例外でバッファー サイズを確認し、Sleep() を使用する場合よりもはるかに小さいためです。

サーバーはこのような多くの操作を処理する必要があり、それを機能させるために Sleep() の「ハック」を使用する余裕はありません。とにかくうまくいかないこともあり、確実にスリープ間隔を数秒に設定する必要があります。サーバー側の他の非同期関数は、WaitForData() を除いて例外をトリガーしません。

接続をすぐに閉じてもすべてのデータを取得するにはどうすればよいですか? とにかくすべてのデータが送信された後に tcp.disconnect が呼び出されるので、なぜこの問題が発生するのかわかりません。ありがとう!

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

apache-flex - Flex HTTPService.disconnect() は何をすべきか?

HTTPService.send() 呼び出しを介して http サーバーでスクリプトを起動する mxml ファイルを取得しました。

サーバー側のスクリプトには非常に長い時間がかかるため (1 時間以上かかることもあります)、ボタンがクリックされたときに Air アプリケーションとサーバー間の接続を切断したいと考えています。

理由はわかりませんが、HTTPService.disconnect() の呼び出しはまったく役に立ちません... tcp 接続が切断されず、スクリプトがサーバー側で実行され続けます。

HTTPService.cancel() も HTTPService var を null に設定することもできませんでした。

接続を切断するにはどうすればよいですか?

前もって感謝します

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

c# - SignalR:クライアントの切断

SignalRはクライアントの切断をどのように処理しますか?私が次のように述べれば私は正しいですか?

  • SignalRは、Javascriptイベント処理を介してブラウザページのクローズ/リフレッシュを検出し、適切なパケットをサーバーに送信します(永続的な接続を介して)。
  • SignalRは、ブラウザのクローズ/ネットワーク障害を検出しません(おそらくタイムアウトによってのみ)。

ロングポーリング輸送を目指しています。

私はこの質問を知っていますが、私にとって少し明確にしたいと思います。

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

node.js - node.jsは切断イベントでソケットを送信しません

誰かがノードサーバーに接続するとき、私はすべてのソケットを含む配列を保持します。そうすれば、必要なときにいつでも全員にメッセージをブロードキャストしたり、ユーザーをループしてオンラインユーザーの数を数えたりすることができます。

これはすべて正常に機能しますが、on切断イベントが発生すると、引数にソケットがありません。どのソケットが切断されたかを知る別の方法はありますか?

もちろん、上記の例は機能しません。これは、disconnectイベントがソケット引数(またはその他の引数)を提供しないためです。それで、ソケットがまだそこにある切断の前に発生した別のイベントはありますか?

アリ

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

mysql - 接続が失われた/切断されたトランザクションでの MySQL ロールバック

各クライアントが同時に動作するため、クライアントが切断された直後にMySQLサーバーがトランザクションをロールバックするようにする必要があります。問題は次のように再現できます (innodb テーブル タイプを使用)

クライアント A:

クライアント B:

MySQLのサーバーオプションを設定し、両方のクライアントでinnodb_rollback_on_timeoutmysqlのクライアントを使用していました。mysql --skip-reconnectネットワーク上で1台のサーバーと2台のクライアントを使用してこれを試しました。ラインの後、ネットワークを物理的に切断しました(ケーブルを抜きました)SELECT ... FOR UPDATE;。他のクライアントがすぐにトランザクションで使用できるようにするtblone(ロック、更新) 必要があります。そのためには、クライアント A が切断された後、サーバーがクライアント A のトランザクションをロールバックする必要があると思います。

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

javascript - タブを閉じる際にクライアントが切断イベントを送信するようにする node.js

私は、socket.io を含む node.js サーバーと、クライアント用の js ファイルを含む html5 キャンバスを使用して、マルチプレイヤー ゲームを作成しています。

今は socket.on('disconnect',function(){my code here}); サーバー側にありますが、ユーザーがクライアントが実行されているタブを閉じると、サーバーで切断イベントがトリガーされませんが、ユーザーがタブを閉じたときにサーバーに通知する必要があります。

クライアントが実行中のタブを閉じたときに、クライアントがイベントを正しくトリガーするようにするにはどうすればよいですか?

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

python - gevent内でのクライアントの切断の検出

キューを使用して応答データを生成する場合、クライアントがgevent Webサーバーから切断されたかどうかをどのように検出する必要がありますか?現在、エラーが発生し続けていBroken pipeますが、この例外をどこでキャッチする必要があるのか​​よくわかりません(トレースバックには、gevent自体pywsgi.pysocket.pyファイルのみが含まれ、コードは含まれていません)。ありがとう。

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

python - python-xmppタイムアウトを検出する

xmppメッセージを送信するアプリケーションがあります。それらの機会はまれですが(時には何日もありません)、それからまた多分束になって来るでしょう。何も受け取らないので、送りたいだけです。単純なアプローチでは、検出されないタイムアウトが発生します。最後send()は実行されません(レシーバーは何も取得しません)が、問題を報告せずに戻ります(すべてが正常に機能したかのように単純なIDを返します)。次の呼び出しのみがsend()IOError('サーバーから切断されました。')を発生させます。

メッセージごとに一定の切断/再接続を行うことはできますが、これは頻繁に切断および再接続されることがあるため、これは好きではありません(サーバーがこれを1秒間に複数回評価するかどうかはわかりません)。

ここで、この質問の回答として示されているアプローチを試すことができますが、XMPP応答を受信する必要はありません。

質問: 2番目のメッセージを送信しようとせずに送信前または送信後の接続タイムアウトを検出する簡単な方法はありますか(すべてが正常に機能した場合に受信者にスパムを送信します)?

私の率直なアプローチ:

0 投票する
3 に答える
46767 参照

node.js - socket.io: 切断イベントが発生しません

簡単なリアルタイムのビジターカウンターを作りました。

このリポジトリからダウンロードできます。

何が起こるかというと、サーバー上の切断イベント (ブラウザーを閉じた後でも) が決して発生しないということです。

server.js は次のとおりです。

クライアント上のスクリプトは次のとおりです。

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

facebook - Facebook の接続/切断のテスト

私は、私たちのウェブサイトでのいくつかのアクションを容易にするユーザー向けのいくつかのサービスを開発しています...

私は oAuth 2.0 を実装しており、FB アプリとの接続は正常に機能しています...しかし、テストをやり直したいのですが...そのためには、FB アプリ/FB セッションを Web サイトから切断する必要があります...だから私は接続を再テストできます...

それを行う簡単な方法はありますか?FB.logout(); を試しました。しかし、それはFBからもログアウトしましたが、実際にはサイトからアプリを切断しませんでした....

何かアドバイス?すべての Cookie とセッションを削除する唯一の方法はありますか? どのクッキーを削除しますか?