問題タブ [named-pipes]

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

c++ - unistd.h read() は、書き込み後にさらにデータを読み取っています

名前付きパイプからデータを読み書きしています。書き込み側では、定数の 110 バイトを書き込んでいると表示されます。読み取り側では、ほとんどの場合、正しい 110 バイトを読み取っていると表示されますが、220 バイトまたは 330 バイトを読み取っていると表示される場合もあります。これは、私がそれを出力すると、同じ read() 内で同じメッセージが 2 回または 3 回続けて出力されるという事実にあります。読むための以下のコードでは、文字をクリアするために memset に何か問題がありますか? バッファーに何かが残っていない限り、書き込みよりも読み取りが多い方法は他に考えられません。

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

c# - System.IO.Exception:パイプが壊れています

名前付きパイプを介して相互に通信する2つの.NETアプリケーションがあります。最初はすべてが素晴らしいですが、最初のメッセージが送信され、サーバーが再びリッスンしようとすると、メソッドはwithメッセージをWaitForConnection()スローします。パイプが壊れています。 ここでこの例外が発生するのはなぜですか?パイプを扱うのはこれが初めてですが、過去にソケットを使った場合も同様のパターンでうまくいきました。System.IO.Exception

コードアホイ!
サーバ:

クライアント:

sendDownPipeを最初に呼び出すと、サーバーは私が送信したメッセージを正常に出力しますが、ループバックして再度リッスンすると、うんちをします。

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

c++ - write() が要求されたよりも少ないバイトを書き込んだ後、スレッドを継続させるにはどうすればよいですか?

次のコードを使用して、あるアプリケーションから別のアプリケーションに名前付きパイプを介してデータを書き込みます。書き込みが行われるスレッドは、決して終了してはなりません。しかし、r_write() の戻り値が本来よりも少ない場合、スレッド/プログラムは何らかの理由で停止します。write が本来よりも少ない値を返したら、スレッドを継続させるにはどうすればよいですか?

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

python - FIFO (名前付きパイプ) メッセージングの障害

単純なマルチプロセス メッセージングに Unix 名前付きパイプ (mkfifo) を使用する予定です。メッセージは 1 行のテキストです。

それを思いとどまらせてくれませんか?どのような障害が予想されますか?

私はこれらの制限に気付きました:

  1. メッセージが受信されるまで、送信者は続行できません。
  2. 受信者は、データが存在するまでブロックされます。読み取りを停止する必要がある場合は、ノンブロッキング IO が必要になります。たとえば、別のスレッドがそれを要求する可能性があります。
  3. 受信者は、1 回の読み取りで多くのメッセージを取得できます。これらは、終了する前に処理する必要があります。
  4. アトミック メッセージの最大長は 4096 バイトに制限されています。これは、Linux の PIPE_BUF 制限です (man 7 パイプを参照)。

メッセージングを Python で実装します。しかし、障害は一般的に保持されます。

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

.net - C#/WPF アプリケーションがアプリ CLI を実装するためのシンプルな IPC メカニズム

だから私は.Netのプロセス間通信についてたくさん読んでいます。名前付きパイプ、リモーティング。それはすべて素晴らしいように思えますが、私がしなければならないことにはやり過ぎかもしれません。

コマンド ライン インターフェイスを WPF アプリケーションに追加したいので、1 つのプロセスから既に実行中のアプリに文字列を送信するための単純な IPC メカニズムが必要です。

そのためにSOは何を推奨していますか?

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

.net - WPF アプリケーション内の WCF 名前付きパイプ

WPF Windows アプリケーションのバックグラウンドで WCF 名前付きパイプ サービスをどのように実行しますか? WPF アプリケーション内で WCF サーバーを実行するサンプルが見つからないようです。

何か案は?

現在、Application_Startup で次のコードを使用しています。これは独自のスレッドで実行する必要がありますか?

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

.net - WCF 名前付きパイプ セキュリティと複数のユーザー セッション?

Mutex を使用して単一インスタンスの WPF アプリケーションをセットアップしました。これにより、ユーザー切り替えを使用している場合に、各ユーザー アカウント内でアプリケーションを実行できます。アプリケーションは、WCF 名前付きパイプをセットアップして、別のプロセスから単一のインスタンスと通信できるようにします (つまり、Mutex が原因で終了する前に 2 番目のプロセスが実行される場合)。

名前付きパイプを保護するために何かを行う必要があるかどうか (ベスト プラクティス) を知りたいですか?

また、名前付きパイプ メッセージがシステム内で実行中のすべてのプロセスに到達するのか、それとも現在のユーザー セッション内でのみ到達するのかを知りたいです。名前付きパイプがシステム全体に送信される場合、通信を現在のユーザー セッションに制限するための最適な実装は何でしょうか?

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

windows - Windows では、Everyone グループと Authenticated Users グループには誰がいますか?

私のアプリケーションは、名前付きパイプを使用して IPC を実行します。幅広いローカルのみのアクセスを提供するには、どのアクセス制御を配置する必要がありますか?

パイプは .net 2.0 リモート プロトコルによって作成され、すべてのアクセスを拒否する「NETWORK」グループの ACL が既に存在するため、ローカル ユーザーのみがアクセスできると思います。リモート設定ファイルで、このパイプにアクセスできる「authorizedGroup」を選択する必要があります。

ローカル マシンで実行されているすべてのプロセスが、名前付きパイプにアクセスできるようにしたいと考えています。

「Everyone」グループまたは「Authenticated Users」グループのアクセスを選択する必要があるようです。ローカルのみのアクセスが与えられた場合、「Authenticated Users」グループにはない「Everyone」グループの下で実行されているプロセスは何ですか?

Windows XP以降の回答に興味があります。

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

bash - シェル スクリプト - パイプとリダイレクト

ダウンロード スクリプトの実行中にフィードバックを表示するためにCocoaDialogを使用しています。コマンド操作が行われている間、不確定な進行状況バーを表示したいと思います。これは、操作中にテキストを CocoaDialog にパイプすることで可能になります。

http://cocoadialog.sourceforge.net/documentation.html#progressbar_control

次のように、1つのコマンドで実行できると思いました。

しかし、これはうまくいきません。

別の方法で実行する、より詳細なシェル スクリプトを次に示します。

http://cocoadialog.sourceforge.net/examples/progressbar.sh.txt

ヒントやヒントをいただければ幸いです。

ありがとう、
マット