名前付きパイプ経由でサーバーに接続するクライアントを作成しましたが、サーバーで正常に動作します。ただし、リモートサーバーに接続しようとすると、Connect()を呼び出して「要求がサポートされていません」という例外がスローされ、その意味がわかりません(msdnを探してみました。.NETの名前付きパイプとあいまいな例外に問題がある
これは関連するコードです。私はサーバーとパスが存在すると確信しています。なぜなら、別のクライアント(ソースは見えませんが、nxpipeを使用しています)が接続できるからです。
NamedPipeClientStream stream = new NamedPipeClientStream(serverName, pipeName, PipeDirection.InOut);
stream.Connect(timeout);
誰もが意味するものはありますか?
ありがとうございました。
EDIT(SOLVED): あなたは問題が何かを信じることはありません。最初に、アプリケーションを注文した人は、サーバーアプリケーションを実行してパイプを開くのを忘れてしまったので、パイプがリモートマシンで開かれていると仮定して、何が起こっているか把握するのに何時間も費やしました。彼はサーバーアプリを実行するのを忘れた(数日後)ことを覚えた後、私たちはまだ問題を抱えていました。その時点で、私は既に.NETパイプとCreateFileを使ってネイティブパイプを使ってクライアントを書いていました。この男はパイプの全体の名前(無効なパイプ名のために "サポートされていない"という奇妙なもの)を教えてくれたことも忘れてしまった。幸いなことに、先ほど使用したアプリケーションがありましたが、パイプ名の一部がハードコードされていました(そしてその一部を指定する必要がありました)ので、プロセスエクスプローラを使用してパイプのフルネームを調べ、今それは働く:|
これを考慮しましたか? 「Windows XP ProfessionalとWindows 2000 Serverの場合、最大10本のパイプを同時にネットワークに接続できます。 (ソースhttp://msdn.microsoft.com/en-us/library/system.io.pipes.namedpipeclientstream.aspx) – DaeMoohn
例外スタックトレースとは何ですか?クライアントとサーバーはどのOSプラットフォームですか? –
残念ながら、今はオフィスにいませんので、スタックトレースを与えることはできませんが、例外はNamedPipeClientStream.Connect()からスローされます。また、クライアントは32ビットのWindows 7上でC#で書かれた小さなアプリケーションであり、サーバーは遠く離れた天秤座のメインフレームです。 – fingerprint211b