問題タブ [socket-timeout-exception]
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.
android - Android - Jsoup - SocketTimeoutException
jsoup-1.7.1.jar コア ライブラリを使用する Android アプリを開発しようとしています。jar ファイルをライブラリとして含めましたが、使用したいときに毎回 SocketTimeoutException を受け取ります。私は Ubuntu 12.04、eclipse-juno Build id: 20120614-1722、emulator/avd に 100MB の sd、512Ram があり、API レベル 16 に取り組んでいます。
これが私のコードです:
エラーログ:
はい、さまざまな種類の投稿をすべて検索しましたが、問題の解決策が見つかりませんでした。(これを含む: How to use AsyncTask for Jsoup Parser? )
- はい、Manifest.xml にインターネット アクセス許可があります (WebView はうまく動作します)
- プロキシ設定をプロキシなしに変更しました(WebViewも機能する前に、それが原因だとは思いませんが)。
- 私はさまざまなページで試してみましたが、プレーンIPでも試しました(DNSの問題はありません)
明らかに何かが欠けているのではないでしょうか?本当に感謝します、thx事前に!
Edit1:wiresharkによると、リクエストが送信され、回答が返されます:
Edit2:本当に奇妙です.時々うまくいき、答えが得られます. しかし、3分後にもう一度試してみると、もう機能しません。問題は、10 回に 1 回しか機能しないことです。何か案は?
android - 私のアプリケーションはAndroidエミュレーターで動作しますが、Androidデバイスでは動作しません
Microsoft VisualStudio2008の.NetFramework3.5でWebサービスを作成し、Androidから呼び出しました。SQLServerをデータベースとして使用しました。
androidエミュレーターでアプリケーションを実行している場合、アプリケーションは正常に実行されますが、androidデバイスにインストールすると、java.socket.SocketTimeOutExceptionがスローされます。
c# - スレッドで複数のサービスを開始する
スレッドで (バックグラウンドで) プロキシを開こうとしています。スレッドはプロキシの新しいインスタンスを作成し、サービスのメソッドを呼び出し、その直後にサービスを破棄します。
これはすべてスレッドで発生します。
CloseTimeout、OpenTimeout、ReceiveTimeout、SendTimeout のタイムアウトを最大に設定しても、断続的なタイムアウトの問題が発生し続けます。
設計上、これが問題ではないことを確認したいだけです。つまり、スレッドでサービスを開いて破棄しますか?
編集 :
プロキシは、スレッドごとに異なるエンドポイントでカスタム バインディングを使用してチャネルを内部的に確立します。
java - java.net.ConnectExceptionを防ぐ方法:接続がタイムアウトしましたか?
誰でもjava.net.ConnectExceptionを説明できますか:接続がタイムアウトしました
android - SocketTimeoutException Android
AWS の Web サービスから大量のコンテンツをダウンロードする複雑なアプリがあります。ただし、SocketTimeoutException
50% の確率で取得し続けます。私の調査に基づいて、次の理由があると思われます。
- 接続タイムアウトの時間が短縮されました: 100 秒に増やしましたが、それでもこのエラーが発生し続けます。
- メモリ リーク:
GC
警告が表示され続けます。記事を読んでコードを改善しようとしましたが、どちらも役に立ちません。また、私のアプリは 2000 個以上の 30KB の JSON ファイルをバックグラウンド スレッドで次々とダウンロードすることにも言及する必要があります。これを効率的に即興するための提案は大歓迎です! - サーバーの問題: Amazon Web Service は信頼性が高いため、根本的な問題ではない可能性があります。
- 複数のスレッド:これはどういうわけか責任がありますか?
- 誤ったダウンロード方法: ダウンロード方法が非効率的ではないかと疑っています。私が間違っている場合は修正してください。
本当の問題を理解するのを手伝ってください。ありがとう !
エラーログ:
python - ローカルマシン上のpython udp socket.timeout
そのため、割り当てにUDPを使用して基本的な「ping」アプリケーションを作成しています.socket.settimeout()の実装を除いてすべてが機能しています。理由はわかりませんが、バインドされたソケットに関係しています。Python の癖かもしれませんが、文書化する前に確認したいと思います。私は機能的なコードの答えを探しているのではなく (それは不正行為です)、むしろ私が持っているものが壊れている理由を探しています. (例:Pythonが同じマシン上のクライアント/サーバーを好まないという文書化されていない理由など)
Python ソケット タイムアウトの詳細: http://docs.python.org/2/library/socket.html#socket.socket.settimeout
以下に示すコードでは、同じマシンで実行されているサーバーとの通信は成功していますが、クライアントがソケットにバインドされていない場合のみです。しかし、ソケットにバインドされていない場合、タイムアウト システムは失敗します (これはサーバーの電源を切ることによってテストされており、10 個のタイムアウトすべてがすぐに一度に出力されます)。
注: コードは理想的ではありませんが、これはネットワーク理論のクラスであり、プログラミングのクラスではありません。最終的には機能するだけです。今すぐ提出してAを取得できますが、タイムアウト機能が機能しない理由を理解したいです。
編集:問題を明確にするために、クライアントでの Bind の使用は、UDP がそれを必要としないことに気付く前に、サーバー コードがそれを持っているのを見た後でしたが、たまたまタイムアウト機能を適切に機能させましたが、通常の操作を中断しました。socket.settimeout() 宣言はおそらく TCP でしか機能しませんか?
クライアント コード (タイムアウトあり):
サーバーコード:
java - Java - readObject() および setSoTimeout()
readObject()
だから、ソケットストリームからしようとするクライアント側にスレッドを書きました。
このスレッドは、クライアントが接続されている限り実行されます。
サーバーへの接続は、クライアントの GUI で閉じることができます。クライアントが「切断」メニュー オプションをクリックして切断することを決定した場合 (クライアント プログラムは終了しません)、ソケットは閉じられ、aisConnected
は false に設定されます。
クライアントはストリームからスレッドを読み取ろうとするためreadObject()
、GUI を介して接続を閉じることができるため、タイムアウトを 250 ミリ秒に設定しました ( setSoTimeout(250)
)。
}
私はそれreadObject()
がブロックされることを知っており、クライアントがまだ接続されているかどうかを確認するためにwhile
、クライアントソケットがまだ接続されているかどうかを (タイムアウトごとに) チェックする でラップしました。
私の質問:
がサーバーから渡されたオブジェクトの取得を開始した場合、readObject()
それを読み取ろうとしますが、処理中にタイムアウトが発生すると、ストリーム上のデータがキャンセルされたため、何らかの形で「破損」します。またはreadObject()
、GUI スレッドがソケットを閉じたい場合は、ブロックを許可して例外をキャッチする必要があります。
私はソケットの経験があまりなく、おそらく私のアプローチはまったく間違っています。
java - Java ApacheCommonsNet TelnetClient との一貫性のない動作
以下のコードを telnet 操作に使用しています。問題は、setSoTimeout() を使用しないと、毎回 Telnet サーバーに正常に接続されることです。ただし、これを使用すると、接続が成功する頻度が 50% に減少します。使用方法に問題はありませんか?
実際には、さまざまな理由でタイムアウト例外をスローするソケットが必要なので、setSoTimeout を使用する必要があります。効果的な使い方を提案してください。
java - HttpURLConnection 読み取りタイムアウト
ファイルフォームURLをダウンロードするための次のコードがあります
このコードは正常に動作しますが、次のエラーが発生することがあります。
ネットワークドロップなし。「ReadTimeout」を構成する他の方法はありますか。
java - クライアントサーバープログラム、Javaクライアントからは接続できますが、Androidからは接続できません
私は非常に単純で基本的なJavaクライアント/サーバープログラムを使用しています。これは正常に機能します。しかし、現在Androidクライアントを作成しようとしていますが、Androidクライアントからサーバーに接続できませんでした。私は通常のクライアントに使用するのとほぼ同じコードをAndroidネットワークコードに使用しています。私のAndroidコードは単純で、onCreateからこのスレッドを開始するだけです。
ポートは、サーバーが実行されている正しいポートであり、IPアドレスも同様です(ローカルホストを使用できないことがわかっているため、ifconfigから取得しました)。同じポートとIPアドレスで通常のPCクライアントを実行すると、接続が確立されます。しかし、Androidデバイスでこのコードを実行すると、接続しようとするとソケットがタイムアウトします。
誰かが私が間違っているところについて何か提案がありますか?