コンピューター A の IP アドレスを指定して、コンピューター B からコンピューター A の名前付きパイプにアクセスできますか? もしそうなら、これを実現するために何をする必要がありますか?
3 に答える
はい、名前付きパイプを介してネットワーク経由で通信できます。UNC パスのようなパイプ名を指定します。
\\computername\pipe\pipename
またはIP経由
\\192.168.0.100\pipe\pipename
これは、任意の LAN マシン、または VPN 経由で LAN に接続された任意のリモート マシンに対して行うことができます。
CreateFileなどの同じパイプ Win32 API 関数をすべて使用します。パイプを作成するには、CreateNamedPipeを使用します。
リモート パイプを使用する前に、リモート コンピューターへの有効な接続が必要です。これを行うには、WNetUseConnectionなどの API を使用します。または、コンピューターが同じドメインにある場合、または同じ u/p を持っている場合は、WNetUseConnection を使用する必要はまったくありません。
プログラムをサービスとして実行している場合、ローカル システム アカウントで LAN リソースにアクセスすることはできません。サービスは、別のアカウントで構成する必要があります。
Windowsの下のパイプは血まみれのひどいことに注意してください。正確に正しく理解するために必要な重要な詳細がたくさんあります。そうしないと、奇妙に失敗し、ドキュメントが完全に完成していません。
可能であれば、ソケットを使用してください。