問題タブ [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.
c# - 名前付きパイプに接続できるクライアントの数
サーバーが名前付きパイプ「myTestPipe」を作成したとします。「myTestPipe」に接続できるクライアントの数はいくつですか。私がWebで読んだことから、1人のクライアントしかできないようですが、確認したかったのです。
1つしかない場合は、AsunchronousメソッドBeginWaitForConnection()の代わりにブロッキングWaitForConnection()を使用することをお勧めします。これは、サーバーがクライアントプロセスが接続するまで待機してから、通信を行うためです。(接続する他のクライアントについて心配する必要はありません)
.net - WCF 名前付きパイプ:ネットワーク全体? 本当に?
多くの人はこれが可能だと考えているようですが、このドキュメントでは境界がプロセス間として明確に述べられていますが、これは私の考えでは「ネットワークなし」を意味します。
別のドキュメントは完全に明確です:
名前付きパイプ トランスポートにはほとんど到達範囲がありません。同じマシンで実行されているサービスにのみ接続できます
では、なぜこれほど多くのポスターが機能すると言っているのでしょうか?
.net - 双方向の名前付きパイプに関する質問
.NET 3.5 で名前付きパイプを介して通信したい 2 つのアプリがあります。私の人生を楽にするためにXMLとして送信されるデータを使用した、要求/応答のパラダイムです。リスナー アプリと、要求をパイプにポストするアプリがあります。これを行うために双方向パイプを使用しようとしています。私が抱えている問題は、StreamReader.ReadToEnd() への呼び出しが返されないように見えることです。これを修正するにはどうすればよいですか?
リスナーコード
依頼者コード
communication - Windows でネットワークを介してドライバーと通信する
ネットワーク経由でユーザーモード アプリケーションからドライバーと通信するにはどうすればよいですか? ドライバーをローカル ユーザーモード アプリケーションと通信させてからリモート アプリケーションと通信させることはできません。名前付きパイプを使用することを考えていましたが、それがネットワーク上で機能するかどうかはわかりません。
c - mkfifoファイルのパーミッションが正しく実行されていません
私のCプログラムの次の行は、すべて/グループ/所有者に読み取りおよび書き込み権限を提供する必要があります
しかし、コードを実行して、書き込みビット以外の許可が設定されていることを確認すると、次のようになります。
所有者は同じですが、tmpディレクトリにパイプを作成しているので問題がありますか?cmd行からchmod666を実行すると、すべての権限が正しく設定されます。
c# - ConnectNamedPipe と ReadFile のブロックを解除するには? [C#]
(ConnectNamedPipe) を使用して NamedPipe 接続を待機し、次に (ReadFile) を読み取るスレッド (PipeThread) を持つクラス (NamedPipeManager) があります。これらは呼び出しをブロックしています (重複していません)。それらのブロックを解除します-たとえば、呼び出し元のクラスが NamedPipeManager を停止しようとした場合...
どうすれば中断できますか?Thread.abort を使用していますか? スレッド割り込み? これを処理する適切な方法はありますか?私の現在の状況を示す以下のコードを参照してください
では、関数 Stop() では、ConnectNamedPipe(...) または ReadFile(...) への呼び出しを適切にブロック解除するにはどうすればよいでしょうか?
どんな助けでも大歓迎です。ありがとう、
named-pipes - 「mkfifo」の作成に似ているが双方向の名前付きパイプ
「mkfifo」で作成したような名前付きパイプを作成したいのですが、注意点が1つあります。パイプを双方向にしたい。つまり、プロセス A が fifo に書き込み、プロセス B がそこから読み取る、またはその逆が必要です。「mkfifo」によって作成されたパイプにより、プロセス A はパイプに書き込まれたデータを読み取ることができます。通常は 2 つのパイプを使用しますが、実際のデバイスをシミュレートしようとしているので、open()、read()、write() などのセマンティクスを可能な限り実際のデバイスに近づけたいと考えています。2 つのパイプまたは名前付きソケットに頼らずにこれを達成する手法を知っている人はいますか?
c - パイプが断片化されたメッセージを読み取れるようにする
名前付きパイプを介して送信される断片化されたメッセージから保護するにはどうすればよいですか。エラーや切断をチェックするwhileループのように単純ですか?それともそれ以上のものがありますか?
(winapi、Cで名前付きパイプを使用)
ありがとう。
c++ - 動的メモリを使用した名前付きパイプ戦略?
IPC が必要なアプリケーションがあります... 名前付きパイプはとても使いやすいので、その方法だと思います。
とにかく、名前付きパイプを使用して動的メモリを処理する方法について質問があります。
次のようなクラスがあるとします。
オブジェクトでいっぱいのバッファを作成MyTestClass
してパイプ経由で送信すると、宛先プロセスで_dataが明らかに失われ、ガベージが発生します。私が使用すべき戦略はありますか?単純なケースでは値型を使用できますが、多くの複雑なクラスではある種の動的メモリを使用する必要があり、ポインターが好きです。
または、代わりに共有メモリの使用を検討する必要がありますか? ありがとう
latex - 名前付きパイプ (fifo) で LaTeX を呼び出しますか?
Unixの名前付きパイプfifoでLaTeX を実行しています。fifo のようなものを作成します。
次に、LaTeX を次のように実行します。
このプロセスはブロックされ、別のシェルから fifo に書き込むまで出力がありません。
$ latex fifoの出力は次のようになります。
ただし、LaTeX プロセスが終了することはありません。LaTeXを終了するにはどうすればよいですか? chr(0) と chr(4) (つまりctrl-d ) を送信しようとしましたが、どちらも機能しません。LaTeX に終了を指示するコマンド (\exit など) はありますか?
読んでくれてありがとう。
編集:
latexのバリアントの代わりにtexを実行すると、次のことが期待どおりに機能することに注意してください。
(その間、texコンソールで)
ただし、Leslie Lamport はA Document Preparation System LaTeX on page 233 で、\end が \end{document} に置き換えられたと述べていますが、次のいずれも LaTeX セッションを終了しません。