問題タブ [broken-pipe]

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

python - クライアントが Python でデータを受信しない

私は Python を初めて使用するので、基本的な質問があります。ネットワーク ソケット接続のクライアント側でデータを受信できますか? 私の質問では、クライアントは接続を開始する人です。これはおそらく明らかですが、明確にしたかったのです。サーバーがクライアントからファイルを受信できるようにする別のサーバーとクライアント(両方ともPython)があるため、私は尋ねます。完全に機能しますが、クライアントがファイルを受信する例を取得できません。Python は、パイプが壊れていると私に言い続けます。クライアント側で行を使用しているためと思われますdata = mysocket.recv(1024)。私の疑いは、クライアントがデータの流れを見ていないため、サーバーへの接続を閉じているということです。サーバーはそれを壊れたパイプと見なします。サーバーとクライアントは以下です。

サーバ:

クライアント:

この問題について何か助けていただければ幸いです。ありがとう!

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

ruby - セッションがなくなったときに std::error または std::out に書き込むときを除いて ruby​​ が動作するのはなぜですか?

私は、何らかの形式の redhat OS を搭載した Linux ボックスで 16 時間または 20 時間実行できるプログラムを作成しました。nohup で起動するか、出力をファイルにリダイレクトすると問題なく動作しますが、ユーザーが起動してバックグラウンドに送信し、ログアウトすると、単純なステータス メッセージ (番号の報告) を送信しようとすると失敗します。ファイルの結果)。おそらくストリームが有効でなくなったため、例外がスローされます。

なぜ私にはうまくいったのに、彼にはうまくいかなかったのかがわかったので、いくつかのテストを実行し、Python、Bash、および perl と比較して、この動作において ruby​​ が独特であることを発見しました。

このような状況で、Ruby が他のスクリプト言語と異なる動作をする正当な理由はありますか? 残りのように動作するように変更する方法はありますか?

C++ (および C) は、エンド ユーザーがメッセージの出力を見ることができるかどうかを気にしないと確信していますが、それらの言語のテストは書きませんでした。ログアウトしても、バックグラウンドに送信されたジョブが消えないことに驚きました。したがって、過去にこの動作をテストしたことはありません。

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

c++ - tryブロック内でファイルポインタを初期化するとパイプが壊れてしまうのはなぜですか?

プログラムで結果を読み取っているbashスクリプトがあります。Ptr単純なpopen()ラッパーです。

これは正常に機能しますが、Ptr f(path)例外安全ではないため、次のように置き換えます。

実行すると(そしてファイルが存在すると)、次のエラーが発生します。

スクリプトのその行は次のとおりです。

何が起こっている?

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

python - このソケット接続で送受信が 1 回しか許可されないのはなぜですか?

背景
私は、データへの同時接続とエコーバックを許可しようとしている単純なソケットサーバーのセットアップを持っています。クライアント側はいくつかのスレッドを起動し、それぞれがサーバーへの独自の接続を確立します。これは、socket.send() 呼び出しでは正常に機能しますが、後続のすべての呼び出しで、「ピアによる接続のリセット」または「パイプの破損」が発生します。リセットと壊れたパイプを切り替える変更が見つからないことに注意してください。ここで解決策を探しましたが、何を検索すればよいかわからないのではないかと心配しています。

これについて間違った方法で行っていますか、それともセットアップで何かを見落としていますか?

サーバ

クライアント

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

java - 応答への書き込み時に org.mortbay.jetty.EofException がスローされる

eclipse RAP (Rich Ajax Platform 1.3.2) および Java バージョン 1.5 内で jetty 6.1.23 を使用しています。PNG画像をブラウザに送信しています。これらは、問題を引き起こしているコードの一部です:

サーバ側:

クライアント側:

奇妙なことに、この問題は常に発生するわけではありません。本番環境に移行した後、断続的に発生します。テスト環境では問題ありませんでした。実稼働環境とテスト環境の唯一の違いは、実稼働環境ではユーザーがサーバーから遠く離れているのに対し、テスト環境ではユーザーが非常に近いことです。

例外がスローされると、クライアントのブラウザ側で画像がまったく表示されません! 何が起こっている?それを修正するにはどうすればよいですか、少なくとも回避策がありますか?

これは完全な例外トレースです (主な例外を強調表示しています)。

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

java - LOG4JがJBOSS&Javaプログラムと競合している

log4j(RollingFileおよびConsoleアペンダー)を使用するjarからJavaサーバーを起動しました。単独で:問題ありません。log4j(デフォルトインストール)を使用するJBossサーバーがあります。単独で実行する場合は、すべて問題ありません。

最初にJavaサーバーとJBossを起動したときも、問題ありません。

ただし、最初にJBossを起動してからJavaサーバーを起動すると、最後は何もログに記録されず、JBossから次のメッセージが送信されます。エラー[ServerThread]初期化に失敗しました

LOG4Jを使用している2つのサーバー間で競合が発生する可能性はありますか?ネット上で何も見つかりませんでした。

ありがとう

補遺

  • JBossとJavaサーバーは異なるディレクトリにあります
  • JBossとJavaサーバーはポートを共有しません(8080 / 8433->JBossおよび20400->Java)
  • JBossとJavaサーバーは、独自のライブラリフォルダーに独自のlog4jxxxx.jarを持っています
  • Java Log4jバージョン:log4j-1.2.16.jar(1.2.17も試しました)
  • JBossバージョン:jboss-5.1.0.GA
  • 両方とも異なるファイルに書き込みます

設定ファイルは次のとおりです:(基本的にコンソールとアペンダーファイルのみ)

Java

JBOSS(コメント付きのアペンダーを削除しました)

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

macos - Mac で Github をセットアップするときに発生したエラー「書き込みに失敗しました: 壊れたパイプ」

Githubでセットアップしようとすると、この厄介なエラーに直面していますMac。OS のバージョンはLionです。基本的に、次のURL に記載されている手順に従いました: http://help.github.com/mac-set-up-git/

私はいつもこのコマンドを実行する段階で立ち往生しました"ssh -T git@github.com"

デバッグメッセージを出力しようとしましたが、以下はメッセージログです。最後のメッセージは、エラーが原因であることを示しています'Write failed: Broken pipe'

以前にこのエラーに遭遇したことがあり、修正できる場合は、このエラーを修正する解決策を教えてください。どうもありがとう。

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

java - Unix ドメイン ソケットでパイプが壊れる理由は何ですか?

リクエストを受信し、Unix ドメイン ソケットで転送するサーバー アプリケーションがあります。これは妥当な使用法の下では完全に機能しますが、数千のリクエストでいくつかの負荷テストを行っていると、Broken Pipe エラーが発生します。

リクエストを送信するために、 junixsocketでJava 7 を使用しています。多くの同時リクエストがありますが、UNIX ドメイン ソケットに書き込みを行う 20 個のワーカーのスレッド プールがあるため、同時オープン接続が多すぎるという問題はありません。

要求ごとに、Unix Domain Socket との接続を開き、送信し、閉じます。

Unix ドメイン ソケットでパイプが壊れる原因は何ですか?

アップデート:

必要に応じてコード サンプルを配置します。

私は20個のワーカーのスレッドプールを持っており、それらは上記を同時に実行しており(同じUnixドメインソケットへの最大20個の同時接続)、それぞれが開いたり、送信したり、閉じたりしています。これは、10,000 リクエストのバーストの負荷テストでは問題なく動作しますが、さらに数千リクエストを送信すると、突然このエラーが発生するため、OS の制限によるものではないかと考えています。

これはネットワーク TCP ソケットではなく、Unix ドメイン ソケットであることに注意してください。

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

jsoup - 壊れたパイプエラーの修正を手伝ってください

私のアプリでは、webview を使用して、モバイル用の Web サイトからネイティブ アプリを構築しています。アプリを実行すると、読み込みが非常に遅くなります。デバッグすると、アプリが壊れたパイプ エラーであるというメッセージを受け取りました。私は JSoup ライブラリを使用して、アプリで html から値を取得しています。Jsoupのエラーかどうかは正確にはわかりません。レビューを手伝ってください。ありがとうございます!

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

sockets - ハードウェア切断後の TCP 回復接続

TCP ソケットに継続的に書き込むプログラムがあります。クライアントとサーバー間の接続が一定時間切断された場合でも、接続を再確立できるようにしたいと考えています。

現在、ワイヤを切断できます。write() 関数がループしている間、「接続がピアによってリセットされました」というエラーが 1 つ返され、次に ULLONG_MAX の値が返されます。次に、ワイヤを再接続すると、write() は継続的に「壊れたパイプ」エラーを返します。接続を閉じてから再度開いてみましたが、「接続がピアによってリセットされました」というエラーが引き続き発生します。

そもそも接続を再確立する方法、または一定時間 (または無期限に) 接続を維持する方法を知っている人はいますか?