10

コンピューター A の IP アドレスを指定して、コンピューター B からコンピューター A の名前付きパイプにアクセスできますか? もしそうなら、これを実現するために何をする必要がありますか?

4

3 に答える 3

11

はい、名前付きパイプを介してネットワーク経由で通信できます。UNC パスのようなパイプ名を指定します。

\\computername\pipe\pipename

またはIP経由

\\192.168.0.100\pipe\pipename

これは、任意の LAN マシン、または VPN 経由で LAN に接続された任意のリモート マシンに対して行うことができます。

CreateFileなどの同じパイプ Win32 API 関数をすべて使用します。パイプを作成するには、CreateNamedPipeを使用します。

リモート パイプを使用する前に、リモート コンピューターへの有効な接続が必要です。これを行うには、WNetUseConnectionなどの API を使用します。または、コンピューターが同じドメインにある場合、または同じ u/p を持っている場合は、WNetUseConnection を使用する必要はまったくありません。

プログラムをサービスとして実行している場合、ローカル システム アカウントで LAN リソースにアクセスすることはできません。サービスは、別のアカウントで構成する必要があります。

于 2009-04-05T18:07:03.473 に答える
2

名前付きパイプを使用して、ネットワーク上の異なるコンピューター上のプロセス間で IPC を提供できます。MSDNを参照してください。

Windows XP SP2、Windows Server 2003 SP1 以降のバージョンを使用している場合は、名前付きパイプ フィルタリングを有効にすることを忘れないでください。こちらを参照してください。

于 2009-04-05T18:03:50.657 に答える
1

Windowsの下のパイプは血まみれのひどいことに注意してください。正確に正しく理解するために必要な重要な詳細がたくさんあります。そうしないと、奇妙に失敗し、ドキュメントが完全に完成していません。

可能であれば、ソケットを使用してください。

于 2009-04-05T18:46:05.767 に答える